* Melchior FRANZ -- Saturday 14 May 2005 14:29:
> * Harald JOHNSEN -- Saturday 14 May 2005 14:11:
> > The last commit on props.cxx and prios_io.cxx has a side effect on dialogs.
> > They appear correctly the first time you invoke them, but on the second 
> > time they are drawn in the bottom left corner
> > of the screen with a transparent background.
> 
> I'll look into it. (But I can say already, that it's a dialog bug,
> not a simgear bug.)

It's actually this change that fixes the problem:     (don't apply in cvs yet!)


diff -u -p -r1.8 props.cxx
--- props.cxx   9 May 2005 14:31:41 -0000       1.8
+++ props.cxx   14 May 2005 12:50:49 -0000
@@ -928,7 +928,7 @@ SGPropertyNode::removeChild (const char
       _removedChildren.push_back(node);
     }
     node->setAttribute(REMOVED, true);
-    node->clearValue();
+    //node->clearValue();
     ret = node;
     fireChildRemoved(node);
   }


... and this line wasn't even needed to fix the original problem. I just
added this there, too, because it makes sense. It makes removed(!) nodes
forget the type they had. Otherwise, after deleting /foo[0] of type "bool"
and then creating a new node /foo[0], this brand new node was already born
as "bool" with no way to change the type. This is silly and wrong.

Unfortunately, something in the dialog code seems to rely on that bug.
Working on it ...

m.

_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to