]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/props.cxx
Mark's dynamic sun color changes.
[simgear.git] / simgear / props / props.cxx
index 322a09cdd24d9a3e52ab1d9aff0a781be23324c6..a04f90ca6d2504594b6eb3d51151e817af16dd24 100644 (file)
@@ -756,7 +756,13 @@ SGPropertyNode::~SGPropertyNode ()
     _removedChildren[i]->_parent = 0;
   delete _path_cache;
   clearValue();
-  delete _listeners;
+
+  if (_listeners) {
+    vector<SGPropertyChangeListener*>::iterator it;
+    for (it = _listeners->begin(); it != _listeners->end(); ++it)
+      (*it)->unregister_property(this);
+    delete _listeners;
+  }
 }
 
 
@@ -911,7 +917,7 @@ SGPropertyNode_ptr
 SGPropertyNode::removeChild (int pos, bool keep)
 {
   SGPropertyNode_ptr node;
-  if (pos < 0 || pos >= _children.size())
+  if (pos < 0 || pos >= (int)_children.size())
     return node;
 
   vector<SGPropertyNode_ptr>::iterator it = _children.begin();