From Pjotr Svetachov, "when you restart threading

with startThreading/stopThreading the _drawQueue and _availableQueue
are not reset properly. This can lead to a deadlock when threading is
started again. So before threading is started again the queues must be
reset. This deadlock is also reported earlier by someone else in here:
http://forum.openscenegraph.org/viewtopic.php?p=43415#43415"
This commit is contained in:
Robert Osfield
2013-01-23 17:38:28 +00:00
parent d3e9b61f2b
commit bada884342
3 changed files with 20 additions and 0 deletions

View File

@@ -336,6 +336,7 @@ void ViewerBase::startThreading()
{
renderer->setGraphicsThreadDoesCull(graphicsThreadsDoesCull);
renderer->setDone(false);
renderer->reset();
++numViewerDoubleBufferedRenderingOperation;
}
}