diff --git a/src/osg/OcclusionQueryNode.cpp b/src/osg/OcclusionQueryNode.cpp index 6fd2a3123..6be23a5f5 100644 --- a/src/osg/OcclusionQueryNode.cpp +++ b/src/osg/OcclusionQueryNode.cpp @@ -759,8 +759,6 @@ void OcclusionQueryNode::setQueryGeometryInternal( QueryGeometry* queryGeom, return; } - OpenThreads::ScopedLock lock( _computeBoundMutex ) ; - _queryGeometryState = state; _queryGeode->removeDrawables(0, _queryGeode->getNumDrawables()); @@ -836,6 +834,8 @@ void OcclusionQueryNode::discardDeletedQueryObjects( unsigned int contextID ) void OcclusionQueryNode::setQueryGeometry( QueryGeometry* geom ) { + OpenThreads::ScopedLock lock( _computeBoundMutex ) ; + if (geom) { setQueryGeometryInternal( geom, geom, USER_DEFINED );