Ignore:
Timestamp:
Jul 28, 2010, 5:13:22 PM (14 years ago)
Author:
Torben Dannhauer
Message:

Introductes VS 2008 Memory Leak Debugging.
Todo: Compile on Linux and compare with Valgrind, VS 2008 seems to be awkward in leak debugging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • osgVisual/src/core/visual_core.cpp

    r86 r87  
    2828visual_core::~visual_core(void)
    2929{
    30         // shut osgVisual down
    31         shutdown();
    32 
    3330        OSG_NOTIFY( osg::ALWAYS ) << "visual_core destroyed." << std::endl;
    34 
    3531}
    3632
     
    4945
    5046        // Setup coordinate system node
    51         rootNode = new osg::CoordinateSystemNode;
     47        rootNode = new osg::CoordinateSystemNode;       // todo memleakf
    5248        rootNode->setEllipsoidModel(new osg::EllipsoidModel());
    5349
    5450        // Test memory leak (todo)
    55         double* test = new double[1000];
     51        //double* test = new double[1000];
    5652
    5753        #ifdef USE_SPACENAVIGATOR
     
    130126        OSG_NOTIFY( osg::ALWAYS ) << "Shutdown visual_core..." << std::endl;
    131127
     128        // Shutdown Dbug HUD
     129        if(hud.valid())
     130                hud->shutdown();
    132131        // Unset scene data
    133132        viewer->setSceneData( NULL );
     
    144143                distortion->shutdown();
    145144#endif
     145
     146        // Shutdown data
     147        rootNode = NULL;
    146148
    147149        // Shutdown dataIO
     
    295297        //testObj->addUpdater( new object_updater(testObj) );
    296298
    297         osg::ref_ptr<visual_object> testObj2 = new visual_object( rootNode, "cessna" );
     299        osg::ref_ptr<visual_object> testObj2 = new visual_object( rootNode, "cessna" ); // todo memleak
    298300        //testObj2->setNewPosition( osg::DegreesToRadians(47.8123), osg::DegreesToRadians(12.94088), 600 );
    299301        testObj2->setNewPosition( osg::DegreesToRadians(50.8123), osg::DegreesToRadians(8.94088), 600 );
    300302        testObj2->loadGeometry( "../models/cessna.osg" );
    301         testObj2->addUpdater( new object_updater(testObj2) );
    302 
    303         osg::ref_ptr<visual_object> testObj3 = new visual_object( rootNode, "SAENGER1" );
     303        testObj2->addUpdater( new object_updater(testObj2) );   // todo memleak
     304
     305        osg::ref_ptr<visual_object> testObj3 = new visual_object( rootNode, "SAENGER1" );       // todo memleak
    304306        testObj3->setNewPosition( osg::DegreesToRadians(47.8123), osg::DegreesToRadians(12.94088), 600 );
    305307        testObj3->loadGeometry( "../models/saenger1.flt" );
    306         testObj3->addUpdater( new object_updater(testObj3) );
    307        
    308 
    309         osg::ref_ptr<visual_object> testObj4 = new visual_object( rootNode, "SAENGER2" );
     308        testObj3->addUpdater( new object_updater(testObj3) );   // todo memleak
     309       
     310
     311        osg::ref_ptr<visual_object> testObj4 = new visual_object( rootNode, "SAENGER2" );       // todo memleak
    310312        testObj4->setNewPosition( osg::DegreesToRadians(47.8123), osg::DegreesToRadians(12.94088), 650 );
    311313        testObj4->loadGeometry( "../models/saenger2.flt" );
    312         testObj4->addUpdater( new object_updater(testObj4) );
     314        testObj4->addUpdater( new object_updater(testObj4) );   // todo memleak
    313315        testObj4->addLabel("testLabel", "LabelTest!!\nnächste Zeile :)",osg::Vec4(1.0f,0.25f,1.0f,1.0f));
    314316
    315         osg::ref_ptr<visual_object> testObj5 = new visual_object( rootNode, "SAENGER" );
     317        osg::ref_ptr<visual_object> testObj5 = new visual_object( rootNode, "SAENGER" );        // todo memleak
    316318        testObj5->setNewPosition( osg::DegreesToRadians(47.8123), osg::DegreesToRadians(12.94088), 550 );
    317319        testObj5->loadGeometry( "../models/saengerCombine.flt" );
    318320        //testObj5->setScale( 2 );
    319         testObj5->addUpdater( new object_updater(testObj5) );
     321        testObj5->addUpdater( new object_updater(testObj5) );   // todo memleak
    320322
    321323#ifdef USE_SPACENAVIGATOR
     
    359361        visual_draw2D::getInstance()->init( rootNode, viewer );
    360362        //osg::ref_ptr<visual_hud> hud = new visual_hud();
    361         osg::ref_ptr<visual_debug_hud> hud = new visual_debug_hud();
     363        hud = new visual_debug_hud();
    362364        hud->init( viewer, rootNode );
    363365       
Note: See TracChangeset for help on using the changeset viewer.