Hi Robert, by some strange circumstance I've stumbled across the following problem:
I create a compositeviewer with two views that share a context. One view is deleted. Texture::TextureObjectSet::discardAllTextureObjects is called, but this does not reset _tail. Now the texture object is again created and addToBack is called from Texture::TextureObjectSet::takeOrGenerate. In addToBack (line 612) _tail is now not 0 (although the list should be empty) and a loop is created from the texture object to itself. Then when the second view is deleted, Texture::TextureObjectSet::deleteAllTextureObjects loops forever. Setting _tail to 0 fixes it for me (see attached).
Below a snippet from INFO output. regards jp ---8<--- RegisterWindowingSystemInterfaceProxy() X11WindowingSystemInterface() GraphicsContext::setWindowingSystemInterface() 0x9a0bb90 0xb76c7c68 GraphicsContext::registerGraphicsContext 0x9a6c56c GraphicsContext::createNewContextID() creating contextID=0 Updating the MaxNumberOfGraphicsContexts to 1 GraphicsContext::registerGraphicsContext 0x9a7c56c GraphicsContext::incrementContextIDUsageCount(0) to 1 View::setSceneData() Reusing exisitng scene0x9abf808 View::setSceneData() Sharing scene 0x9abf808 CompositeViewer::init() View::init() View::init() Created new TextureObject, _numOfTextureObjects 1 Destructing osgViewer::View Destructing osg::View close(0)0x9a6c56c Doing discard of deleted OpenGL objects. decrementUsageCount()1 GraphicsContext::decrementContextIDUsageCount(0) to 1 GraphicsContext::unregisterGraphicsContext 0x9a6c56c Done destructing osg::View Created new TextureObject, _numOfTextureObjects 1 Destructing osgViewer::View Destructing osg::View close(0)0x9a7c56c Doing discard of deleted OpenGL objects. <hang> --This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.
This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support.
Texture.cpp.gz
Description: GNU Zip compressed data
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
