Hi,

in a multithreaded OpenSG 2.0 application i get random crashes on 
Windows while on Linux everything works just fine.

The code causing the crashes is line 774 in OSGWindow.cpp (in 
OSG::Window::validateGLObject()):

   else if(_mfGlObjectLastRefresh[osgId] > _lastValidate[osgId])

and the reason is that "osgID" is bigger than the size of the 
"_mfGlObjectLastRefresh" vector.

As the sizes of some other vectors are already checked against "osgID" 
at the beginning of that function, I added the following lines somewhere 
at the top of validateGLObject() and that seems to fix the problem 
(though I don't know if it's correct to initialize it with 0):

   if(osgId >= _mfGlObjectLastRefresh.size())
   {
     _mfGlObjectLastRefresh.resize(osgId + 1, 0);
   }


Best regards,
Andreas

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to