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