Hi,
unfortunately now I found an unexpected behavior with the non-osgFX solution. 
Pushing wireframe button on and off quite fast from my application I get 
sometimes a crash, sometimes the surface disappears and I can see just the 
wireframe (there's no way to get the surface visible again). OSG 3.1.4 are used 
in this case.

The crash happens at the end of this piece of code (osg/State):


Code:

        inline bool applyAttribute(const StateAttribute* 
attribute,AttributeStack& as)
        {
            if (as.last_applied_attribute != attribute)
            {
                if (!as.global_default_attribute.valid()) 
as.global_default_attribute = 
dynamic_cast<StateAttribute*>(attribute->cloneType());

                as.last_applied_attribute = attribute;
                attribute->apply(*this);



And here is the call stack:


Code:
        osg95-osgd.dll!osg::State::applyAttribute(const osg::StateAttribute * 
attribute, osg::State::AttributeStack & as)  Line 1596 + 0xe bytes        C++
        osg95-osgd.dll!osg::State::applyAttributeList(std::map<std::pair<enum 
osg::StateAttribute::Type,unsigned 
int>,osg::State::AttributeStack,std::less<std::pair<enum 
osg::StateAttribute::Type,unsigned int> 
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned 
int> const ,osg::State::AttributeStack> > > & attributeMap, const 
std::map<std::pair<enum osg::StateAttribute::Type,unsigned 
int>,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned 
int>,std::less<std::pair<enum osg::StateAttribute::Type,unsigned int> 
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned 
int> const ,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned int> > > > & 
attributeList)  Line 2324        C++
        osg95-osgd.dll!osg::State::apply(const osg::StateSet * dstate)  Line 
508        C++
        osg95-osgUtild.dll!osgUtil::RenderLeaf::render(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * previous)  Line 47 + 0x14 bytes      C++
        
osg95-osgUtild.dll!osgUtil::RenderBin::drawImplementation(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * & previous)  Line 483 + 0x19 bytes        C++
        
osg95-osgUtild.dll!osgUtil::RenderStage::drawImplementation(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * & previous)  Line 1398  C++
        osg95-osgUtild.dll!osgUtil::RenderBin::draw(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * & previous)  Line 428 + 0x17 bytes      C++
        osg95-osgUtild.dll!osgUtil::RenderStage::drawInner(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * & previous, bool & doCopyTexture)  Line 933   
   C++
        osg95-osgUtild.dll!osgUtil::RenderStage::draw(osg::RenderInfo & 
renderInfo, osgUtil::RenderLeaf * & previous)  Line 1237 + 0x1b bytes   C++
        osg95-osgUtild.dll!osgUtil::SceneView::draw()  Line 1443 + 0x37 bytes   
C++
        osg95-osgViewerd.dll!osgViewer::Renderer::draw()  Line 732 + 0xf bytes  
C++
        
osg95-osgViewerd.dll!osgViewer::Renderer::operator()(osg::GraphicsContext * 
context)  Line 899 + 0xf bytes      C++
        osg95-osgd.dll!osg::GraphicsContext::runOperations()  Line 777 + 0x33 
bytes     C++
        osg95-osgQtd.dll!osgQt::GraphicsWindowQt::runOperations()  Line 685 + 
0xb bytes C++
        osg95-osgd.dll!osg::RunOperations::operator()(osg::GraphicsContext * 
context)  Line 137 + 0xf bytes     C++
        osg95-osgd.dll!osg::GraphicsOperation::operator()(osg::Object * object) 
 Line 53 + 0x19 bytes   C++
        osg95-osgd.dll!osg::OperationThread::run()  Line 426 + 0x26 bytes       
C++
        osg95-osgd.dll!osg::GraphicsThread::run()  Line 41      C++
        
ot12-OpenThreadsd.dll!OpenThreads::ThreadPrivateActions::StartThread(void * 
data)  Line 113 + 0xf bytes C++
        msvcr100d.dll!_callthreadstartex()  Line 314 + 0xf bytes        C
        msvcr100d.dll!_threadstartex(void * ptd)  Line 297      C




------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60793#60793





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to