]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/props.hxx
Melchior FRANZ: fix SGPropertyNode::LAST_USED_ATTRIBUTE
[simgear.git] / simgear / props / props.hxx
index a80fc10ae7c9dc8415bcbd3d02de4673cdeb8b18..8cf38e6da7954becd375207277a69e56381e837f 100644 (file)
@@ -760,7 +760,10 @@ public:
     REMOVED = 8,
     TRACE_READ = 16,
     TRACE_WRITE = 32,
-    USERARCHIVE = 64
+    USERARCHIVE = 64,
+    PRESERVE = 128
+    // beware: if you add another attribute here,
+    // also update value of "LAST_USED_ATTRIBUTE".
   };
 
 
@@ -1786,8 +1789,12 @@ bool SGPropertyNode::tie(const SGRawValue<T> &rawValue, bool useDefault)
         _type = EXTENDED;
     _tied = true;
     _value.val = rawValue.clone();
-    if (useDefault)
+    if (useDefault) {
+        int save_attributes = getAttributes();
+        setAttribute( WRITE, true );
         setValue(old_val);
+        setAttributes( save_attributes );
+    }
     return true;
 }