Hi Robert,

I think I know where is the problem, I'll try to explain it with my poor
english... :p

The problems occurs on the single threaded threading model because
_numWindowsOpenAtLastSetUpThreading is never setted again to the number of
contexts. It is well initialized to 1 at the beginning but never put back to
0 when the context get killed because in the single threaded model
_threadsRunning is always at false, so we never go into stopThreading or
startThreading, the methods where _numWindowsOpenAtLastSetUpThreading should
be updated.

So _numWindowsOpenAtLastSetUpThreading stays at 1 and at line 1301 we never
set _done to true.

If I switch to the threading model "CullDrawThreadPerContext" the
application is properly closed, but in the other modes I have other errors
and I will look further to find what are the problems (it seems to be a
problem of thread termination).

If you want Robert I can make the modifications myself to Viewer.cpp but I
think that you better know what to do to handle the problem properly. :)

--
Serge Lages
http://www.magrathea-engine.org
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to