]> git.mxchange.org Git - simgear.git/commitdiff
Fix initial value for tied read-only properties
authorTorsten Dreyer <Torsten@t3r.de>
Sat, 12 Feb 2011 13:46:58 +0000 (14:46 +0100)
committerTorsten Dreyer <Torsten@t3r.de>
Sat, 12 Feb 2011 13:46:58 +0000 (14:46 +0100)
simgear/props/props.cxx
simgear/props/props.hxx

index fce6e8ab31c54c0ec0c3db3f2dbccb593e9cadb5..12a8fe833fc4c354ed2bf25febc020f904499f8a 100644 (file)
@@ -1615,8 +1615,12 @@ bool SGPropertyNode::tie (const SGRawValue<const char *> &rawValue,
     _tied = true;
     _value.val = rawValue.clone();
 
-    if (useDefault)
+    if (useDefault) {
+        int save_attributes = getAttributes();
+        setAttribute( WRITE, true );
         setStringValue(old_val.c_str());
+        setAttributes( save_attributes );
+    }
 
     return true;
 }
index a80fc10ae7c9dc8415bcbd3d02de4673cdeb8b18..e870f4407bbd5c76d90a3b18829a49636f495dde 100644 (file)
@@ -1786,8 +1786,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;
 }