From 5ec2969330c9ebd670cd2721fd2d20f845c36c09 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 18 Jul 2007 16:48:25 +0000 Subject: [PATCH] Added setting of ThreadSafeRefUnref to true. --- src/osgTerrain/GeometryTechnique.cpp | 9 ++++++++- src/osgTerrain/TerrainNode.cpp | 1 + src/osgTerrain/TerrainTechnique.cpp | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/osgTerrain/GeometryTechnique.cpp b/src/osgTerrain/GeometryTechnique.cpp index 5495a1da5..82410bb13 100644 --- a/src/osgTerrain/GeometryTechnique.cpp +++ b/src/osgTerrain/GeometryTechnique.cpp @@ -35,6 +35,7 @@ GeometryTechnique::GeometryTechnique(): setFilterBias(0); setFilterWidth(0.1); setFilterMatrixAs(GAUSSIAN); + } GeometryTechnique::GeometryTechnique(const GeometryTechnique& gt,const osg::CopyOp& copyop): @@ -526,6 +527,8 @@ void GeometryTechnique::init() smoother.smooth(*buffer._geometry); } + if (buffer._transform.valid()) buffer._transform->setThreadSafeRefUnref(true); + _dirty = false; swapBuffers(); @@ -581,7 +584,11 @@ void GeometryTechnique::traverse(osg::NodeVisitor& nv) } - if (_dirty) init(); + if (_dirty) + { + osg::notify(osg::NOTICE)<<"******* Doing init ***********"<accept(nv); diff --git a/src/osgTerrain/TerrainNode.cpp b/src/osgTerrain/TerrainNode.cpp index 11f7d62ee..40f72acf6 100644 --- a/src/osgTerrain/TerrainNode.cpp +++ b/src/osgTerrain/TerrainNode.cpp @@ -21,6 +21,7 @@ TerrainNode::TerrainNode(): _treatBoundariesToValidDataAsDefaultValue(false) { setNumChildrenRequiringUpdateTraversal(1); + setThreadSafeRefUnref(true); } TerrainNode::TerrainNode(const TerrainNode& terrain,const osg::CopyOp& copyop): diff --git a/src/osgTerrain/TerrainTechnique.cpp b/src/osgTerrain/TerrainTechnique.cpp index ee90614b9..6fae30433 100644 --- a/src/osgTerrain/TerrainTechnique.cpp +++ b/src/osgTerrain/TerrainTechnique.cpp @@ -20,6 +20,7 @@ TerrainTechnique::TerrainTechnique(): _terrainNode(0), _dirty(true) { + setThreadSafeRefUnref(true); } TerrainTechnique::TerrainTechnique(const TerrainTechnique& TerrainTechnique,const osg::CopyOp& copyop):