]> git.mxchange.org Git - flightgear.git/commitdiff
- fix regression: classes derived from SGModelData get the props root
authormfranz <mfranz>
Sat, 18 Oct 2008 18:47:28 +0000 (18:47 +0000)
committermfranz <mfranz>
Sat, 18 Oct 2008 18:47:28 +0000 (18:47 +0000)
  via modelLoaded, not a possible Nasal node.
- rename SGNasalModelData::_props to ::_root to avoid confusion

src/Scripting/NasalSys.cxx
src/Scripting/NasalSys.hxx

index af589ff3f3581f295c2cdba988b506c87e8f6e14..97b8f82efd6c7b3b8c2bc363c8c22fd4c25dc9d9 100644 (file)
@@ -1092,9 +1092,12 @@ void FGNasalModelData::modelLoaded(const string& path, SGPropertyNode *prop,
 {
     if(!prop)
         return;
+    SGPropertyNode *nasal = prop->getNode("nasal");
+    if(!nasal)
+        return;
 
-    SGPropertyNode *load = prop->getNode("load");
-    _unload = prop->getNode("unload");
+    SGPropertyNode *load = nasal->getNode("load");
+    _unload = nasal->getNode("unload");
     if(!load && !_unload)
         return;
 
@@ -1102,7 +1105,8 @@ void FGNasalModelData::modelLoaded(const string& path, SGPropertyNode *prop,
     if(_props)
         _module += ':' + _props->getPath();
     const char *s = load ? load->getStringValue() : "";
-    nasalSys->createModule(_module.c_str(), _module.c_str(), s, strlen(s), _props);
+    nasalSys->createModule(_module.c_str(), _module.c_str(), s, strlen(s), _root);
+    _props = 0;
 }
 
 FGNasalModelData::~FGNasalModelData()
@@ -1118,7 +1122,7 @@ FGNasalModelData::~FGNasalModelData()
 
     if(_unload) {
         const char *s = _unload->getStringValue();
-        nasalSys->createModule(_module.c_str(), _module.c_str(), s, strlen(s), _props);
+        nasalSys->createModule(_module.c_str(), _module.c_str(), s, strlen(s), _root);
     }
     nasalSys->deleteModule(_module.c_str());
 }
index 8c57159c466baa772c6fd9265693754e5d147007..e010ba3485f46599a0098fbf2cf6dd75cc67f8a7 100644 (file)
@@ -161,13 +161,13 @@ private:
 
 class FGNasalModelData : public simgear::SGModelData {
 public:
-    FGNasalModelData(SGPropertyNode *props = 0) : _props(props), _unload(0) {}
+    FGNasalModelData(SGPropertyNode *root = 0) : _root(root), _unload(0) {}
     ~FGNasalModelData();
     void modelLoaded(const string& path, SGPropertyNode *prop, osg::Node *);
 
 private:
     string _module;
-    SGPropertyNode_ptr _props;
+    SGPropertyNode_ptr _root;
     SGConstPropertyNode_ptr _unload;
 };