]> git.mxchange.org Git - simgear.git/commitdiff
prevent animations from losing nodes, because other processes removed them
authormfranz <mfranz>
Tue, 14 Mar 2006 10:38:06 +0000 (10:38 +0000)
committermfranz <mfranz>
Tue, 14 Mar 2006 10:38:06 +0000 (10:38 +0000)
(We are currently getting a lot of aborts in the condition code when
running MP. I don't expect this to fix it, but a bug is a bug.)

(reviewed by Fred, who also fixed *my* bugs :-)

simgear/props/condition.cxx
simgear/props/condition.hxx

index 014aff4596639790268236db06871d7e7f5cae8b..a633cacd33e318f80b71df3081ffec0d0de4afe6 100644 (file)
@@ -235,7 +235,6 @@ SGComparisonCondition::SGComparisonCondition (Type type, bool reverse)
 
 SGComparisonCondition::~SGComparisonCondition ()
 {
-  delete _right_value;
 }
 
 bool
@@ -267,7 +266,6 @@ void
 SGComparisonCondition::setRightProperty( SGPropertyNode *prop_root,
                                          const char * propname )
 {
-  delete _right_value;
   _right_value = 0;
   _right_property = prop_root->getNode(propname, true);
 }
@@ -276,7 +274,6 @@ void
 SGComparisonCondition::setRightValue (const SGPropertyNode *node)
 {
   _right_property = 0;
-  delete _right_value;
   _right_value = new SGPropertyNode(*node);
 }
 
index b314cc4ed017f3430219852d0d40ddb4b07834b7..01ad8faa4d7f2f4c321a41c31fdba9a81049adc2 100644 (file)
@@ -51,7 +51,7 @@ public:
   virtual ~SGPropertyCondition ();
   virtual bool test () const { return _node->getBoolValue(); }
 private:
-  const SGPropertyNode * _node;
+  SGConstPropertyNode_ptr _node;
 };
 
 
@@ -133,9 +133,9 @@ public:
 private:
   Type _type;
   bool _reverse;
-  const SGPropertyNode * _left_property;
-  const SGPropertyNode * _right_property;
-  const SGPropertyNode * _right_value;
+  SGConstPropertyNode_ptr _left_property;
+  SGConstPropertyNode_ptr _right_property;
+  SGConstPropertyNode_ptr _right_value;
 };