From f10cb3c3884f4870d5ab11f5849478f53ca1b691 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 16 Jun 2008 13:20:51 +0000 Subject: [PATCH] Added mutex to serialize access to the trpager --- src/osgPlugins/txp/TXPNode.cpp | 6 ++++++ src/osgPlugins/txp/TXPNode.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/osgPlugins/txp/TXPNode.cpp b/src/osgPlugins/txp/TXPNode.cpp index a80e70b9e..acadf54a1 100644 --- a/src/osgPlugins/txp/TXPNode.cpp +++ b/src/osgPlugins/txp/TXPNode.cpp @@ -90,6 +90,8 @@ void TXPNode::traverse(osg::NodeVisitor& nv) { case osg::NodeVisitor::CULL_VISITOR: { + + OpenThreads::ScopedLock lock(_mutex); osgUtil::CullVisitor* cv = dynamic_cast(&nv); if (cv) @@ -132,8 +134,12 @@ void TXPNode::traverse(osg::NodeVisitor& nv) break; } case osg::NodeVisitor::UPDATE_VISITOR: + { + OpenThreads::ScopedLock lock(_mutex); + updateSceneGraph(); break; + } default: break; } diff --git a/src/osgPlugins/txp/TXPNode.h b/src/osgPlugins/txp/TXPNode.h index ba73a65f8..ad82f6bcc 100644 --- a/src/osgPlugins/txp/TXPNode.h +++ b/src/osgPlugins/txp/TXPNode.h @@ -93,6 +93,8 @@ protected: std::string _archiveName; std::string _options; + OpenThreads::Mutex _mutex; + osg::ref_ptr _archive; osg::ref_ptr _pageManager;