Melchior FRANZ wrote:
> I've found the bug already. In dialog.cxx:
>
>     // Remove automatically generated properties, so the layout looks
>     // the same next time around.
>     if(!userx) props->removeChild("x");
>     if(!usery) props->removeChild("y");
>     if(!userw) props->removeChild("width");
>     if(!userh) props->removeChild("height");
>
> ... and then we happily continue to read from the just removed nodes. Come on!
> We can do better than that!   :-)

I'm confused, those properties are removed only if they did not exist
originally (i.e., they were created by the layout process).  That
removal is important, because it is what allows us to have both
user-defined absolute positioning and automatically generated layout.

The properties are only removed, I believe, once the dialog is created
and on the screen.  They should not be read again until the dialog is
displayed again (at which time they will be created again by the
layout process).

Is there another reader that I'm not aware of?

Andy

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

Reply via email to