24f908d9be3b6db5fe56e0071917ae9a42df3d46
- introduce removeChildren() and removeChildren(name) to remove all children or all with a given name - let removeChild() and removeChildren() also remove child trees, and let them return a "dirty" boolean that indicates if one or more subnodes had to be kept because of refcounting (removeChild returned a SGPropertyNode_ptr before) - make alias/unalias increase/decrease the refcounter - don't remove refcounted or tied nodes This patch makes the SGPropertyNode_ptr actually useful. Until today, they did proper refcounting (except for aliases), but no other part did check this counter. But SGPropertyNode_ptr aren't only useful for the first time, they are now highly recommended for every place that relies on a node address, and wants to "lock" it (so that removeChild(ren) will never try to remove them). This is not guaranteed for SGPropertyNode* (and never was). Of course, that's not an imminent problem, as only four places currently use removeChild(ren) and these are careful to only remove their own data.
[ Nothing here at this time. ]
Description
Languages
C++
85.5%
C
13.1%
CMake
1.4%