I've run into a bit of a problem when using the observer_ptr with
multiple inheritance.
I've traced the problem to observer_ptr::objectDeleted:
virtual void objectDeleted(void* ptr)
{
if (_ptr==ptr)
{
_ptr = 0;
}
}
The two pointers are not always equal when the observer pointer holds a
class with multiple inheritance.
So comparison fails and I'm left with a dangling pointer in the observer.
Is the comparison necessary? It looks to me like objectDeleted is only
ever called for the object it is holding.
- Edgar
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/