Melchior FRANZ wrote:
> (0) removeChild() didn't *really* remove the node, but only mark it as REMOVED
>     (which is OK and done for performance reasons)

Well, that's the bug certainly.  In fact, a quick grep through the
property code shows that flagging the node as removed is, in fact, the
sole usage of the REMOVED type.  This thing is just a fancy noop. :)

> Yes, no problem. But please, all of you: stay away from the crap
> that is called "removeChild()". It's broken. Better add a bug
> message there, or even abort().

Well, yeah, or just, y'know, fix it. :)

It shouldn't be hard: just rewrite removeChild to actually remove it,
and we're done.  I have a hard time seeing why we should want to write
around this API: this is a sane call with a very clear meaning, it
just has a bug.  Bugs are meant to be fixed, not avoided.


Flightgear-devel mailing list

Reply via email to