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 <[EMAIL PROTECTED]> 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
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to