]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/Effect.cxx
Random buildings - initial commit.
[simgear.git] / simgear / scene / material / Effect.cxx
index 1645840725607d68b9f040becee05c15f6461de2..978aa064e7d7f4851842dc4784e9c5eab649bfea 100644 (file)
@@ -839,6 +839,7 @@ void ShaderProgramBuilder::buildAttribute(Effect* effect, Pass* pass,
             program->addShader(sitr->second.get());
         } else {
             ref_ptr<Shader> shader = new Shader(stype);
+                       shader->setName(fileName);
             if (shader->loadShaderSourceFromFile(fileName)) {
                 program->addShader(shader.get());
                 shaderMap.insert(ShaderMap::value_type(skey, shader));
@@ -1392,10 +1393,11 @@ public:
     
     void valueChanged(SGPropertyNode* node)
     {
-        _tniq->refreshValidity();
+        if (_tniq.valid())
+            _tniq->refreshValidity();
     }
 protected:
-    osg::ref_ptr<Technique> _tniq;
+    osg::observer_ptr<Technique> _tniq;
 };
 
 template<typename T>