[osg-submissions] Group::removeChildren fix
Robert Osfield
robert.osfield at gmail.com
Mon Jan 14 01:38:52 PST 2008
Hi Daniel,
You change looks OK, but given the naming of the method - childRemoved
gives us the clue that it a child has been removed, rather than about
to be removed as is your interpretation. childRemoved is only done
with the nodes that subclass from Group and override childRemoved to
handle the update of their local data structures without getting out
of sync so if there is a problem then its as down to the local
childRemoved() implementation making an incorrect assumption rather
than the Group code itself being done in the wrong order.
Despite your fix being not really being a fix, rather masking an bug
in a sublcass of Group, I have gone ahead and merged it, as there is
chance that others might make the same mistake. BTW, did you subclass
from Group yourself? I can't find any placing in the core OSG
distribution that actually override childRemoved() so there are
instances where an mistake of interpretation has been made.
Robert.
On Jan 13, 2008 11:11 PM, Daniel Stien <daniel at stien.org> wrote:
> When removing a child from a osg::Group, childRemoved is called after the
> node has already been erased from the node list, causing childRemoved to be
> performed on the consecutive node.
>
> Lines 180 and 182 are swapped in the attached Group.cpp.
>
> --
> Daniel Stien
> _______________________________________________
> osg-submissions mailing list
> osg-submissions at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
More information about the osg-submissions
mailing list