]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/propertyObject.cxx
Revert to c++98
[simgear.git] / simgear / props / propertyObject.cxx
index df3f81f990004088dbb2d88044cf95b7c2846105..7a46056080ea67b153c27d53d4628d4c2abbd8cf 100644 (file)
@@ -21,8 +21,6 @@
 
 #include "propertyObject.hxx"
 
-#include <simgear/math/SGMath.hxx>
-
 #include <simgear/structure/exception.hxx>
 
 namespace simgear
@@ -34,6 +32,13 @@ void PropertyObjectBase::setDefaultRoot(SGPropertyNode* aRoot)
 {
   static_defaultRoot = aRoot;
 }
+  
+PropertyObjectBase::PropertyObjectBase() :
+  _path(NULL),
+  _prop(NULL)
+{
+    
+}
 
 PropertyObjectBase::PropertyObjectBase(const PropertyObjectBase& aOther) :
   _path(aOther._path),
@@ -61,15 +66,17 @@ SGPropertyNode* PropertyObjectBase::node(bool aCreate) const
     return _prop;
   }
   
-  SGPropertyNode* r = _prop ? _prop : static_defaultRoot;
-  _prop = r->getNode(_path, aCreate);
+  SGPropertyNode *r = _prop ? _prop : static_defaultRoot,
+                 *prop = r->getNode(_path, aCreate);
   
-  if (_prop) {
-    // resolve worked, we will cache from now on, so clear _path
+  if( prop )
+  {
+    // resolve worked, we will cache from now on, so clear _path and cache prop
     _path = NULL;
+    _prop = prop;
   }
 
-  return _prop;
+  return prop;
 }
 
 SGPropertyNode* PropertyObjectBase::getOrThrow() const