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

Reply via email to