From 6231cd8557079eb8951456b0baadb2e153685070 Mon Sep 17 00:00:00 2001 From: scrawl Date: Sat, 30 May 2015 00:59:34 +0200 Subject: [PATCH] RigGeometry clone fix --- components/sceneutil/clone.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/components/sceneutil/clone.cpp b/components/sceneutil/clone.cpp index 0131adc89..36c5c02a1 100644 --- a/components/sceneutil/clone.cpp +++ b/components/sceneutil/clone.cpp @@ -48,8 +48,7 @@ namespace SceneUtil { if (const osgParticle::ParticleSystem* partsys = dynamic_cast(drawable)) return operator()(partsys); - if (dynamic_cast(drawable) - || dynamic_cast(drawable)) + if (dynamic_cast(drawable)) { osg::CopyOp copyop = *this; copyop.setCopyFlags(copyop.getCopyFlags()|osg::CopyOp::DEEP_COPY_ARRAYS); @@ -58,6 +57,11 @@ namespace SceneUtil cloned->setUpdateCallback(osg::clone(cloned->getUpdateCallback(), *this)); return cloned; } + if (dynamic_cast(drawable)) + { + return osg::clone(drawable, *this); + } + return osg::CopyOp::operator()(drawable); }