While searching for the reason of crashing FlightGear if trying to remove the nodes of the previously selected airport in the new Select Airport Dialog I stumbled upon a problem with the behavior of SGPropertyNode::removeChild. If you remove a child then fireChildRemoved is triggered and every listener is getting informed. The problem is that it is only called for the node being removed but for non of it's child nodes. So if you listen upon a specific node being removed and instead a parent node is being removed you will never get notified and have a pointer to an invalid part of your memory which can cause a crash :)
I've pushed a commit witch recursively triggers childRemoved for all nodes controlling the canvas. Any objections on moving this behavior directly into simgear? Tom -- Thomas Geymayer www.tomprogs.at / C-Forum und Tutorial: www.proggen.org ------------------------------------------------------------------------ Student of Computer Science @ Graz University of Technology ------------------------------- Austria -------------------------------- ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel