]> git.mxchange.org Git - flightgear.git/commitdiff
Don't set values on "live" text objects to prevent confusion when a
authorandy <andy>
Sat, 15 May 2004 21:41:42 +0000 (21:41 +0000)
committerandy <andy>
Sat, 15 May 2004 21:41:42 +0000 (21:41 +0000)
dialog-apply happens.

src/GUI/dialog.cxx

index 06d5e0a71a5f3ab77aa1191b1c491682d9ed4791..6320cae288152246f0cec3666bfeadea53bb02fa 100644 (file)
@@ -93,6 +93,13 @@ action_callback (puObject * object)
 static void
 copy_to_pui (SGPropertyNode * node, puObject * object)
 {
+    // Treat puText objects specially, so their "values" can be set
+    // from properties.
+    if(object->getType() & PUCLASS_TEXT) {
+        object->setLabel(node->getStringValue());
+        return;
+    }
+
     switch (node->getType()) {
     case SGPropertyNode::BOOL:
     case SGPropertyNode::INT:
@@ -107,17 +114,16 @@ copy_to_pui (SGPropertyNode * node, puObject * object)
         object->setValue(node->getStringValue());
         break;
     }
-
-    // Treat puText objects specially, so their "values" can be set
-    // from properties.
-    if(object->getType() & PUCLASS_TEXT)
-        object->setLabel(node->getStringValue());
 }
 
 
 static void
 copy_from_pui (puObject * object, SGPropertyNode * node)
 {
+    // puText objects are immutable, so should not be copied out
+    if(object->getType() & PUCLASS_TEXT)
+        return;
+
     switch (node->getType()) {
     case SGPropertyNode::BOOL:
     case SGPropertyNode::INT: