]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/EffectCullVisitor.cxx
Use of copy-constructors
[simgear.git] / simgear / scene / material / EffectCullVisitor.cxx
index a1a4fa821393f6720ebc7a2620a6c4cd066ea262..e2d199207dd52293e17b1c5b7f73e8535e0bcdfc 100644 (file)
@@ -36,6 +36,7 @@ EffectCullVisitor::EffectCullVisitor()
 }
 
 EffectCullVisitor::EffectCullVisitor(const EffectCullVisitor& rhs) :
+    osg::Referenced(rhs),
     CullVisitor(rhs)
 {
 }
@@ -54,10 +55,13 @@ void EffectCullVisitor::apply(osg::Geode& node)
         CullVisitor::apply(node);
         return;
     }
-    Technique* technique = eg->getEffect()->chooseTechnique(&getRenderInfo());
-    if (!technique) {
+    Effect* effect = eg->getEffect();
+    Technique* technique = 0;
+    if (!effect) {
         CullVisitor::apply(node);
         return;
+    } else if (!(technique = effect->chooseTechnique(&getRenderInfo()))) {
+        return;
     }
     // push the node's state.
     osg::StateSet* node_state = node.getStateSet();