Show
Ignore:
Timestamp:
01/26/09 16:16:24 (4 years ago)
Author:
robert
Message:

Fixed effective leak in Program::PerContextProgram? caused by previously osg::State keeping a set of std::ref_ptr<Program::PerContextProgram?> without ever pruning this list.
The fix was to convert the osg::State to use C pointers for the set of applied PerContexProgram? objects, and use the osg::Oberver mechanism to avoid dangling pointers for being maintained in osg::State.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osg/Referenced.cpp

    r9343 r9549  
    310310} 
    311311 
    312 void Referenced::addObserver(Observer* observer) 
     312void Referenced::addObserver(Observer* observer) const 
    313313{ 
    314314#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS) 
     
    338338} 
    339339 
    340 void Referenced::removeObserver(Observer* observer) 
     340void Referenced::removeObserver(Observer* observer) const 
    341341{ 
    342342#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS)