From: Thomas Geymayer Date: Tue, 3 Jul 2012 14:29:37 +0000 (+0200) Subject: Fix canvas clean up. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0934ba859f981ba2426bf2bf76f83ed9108ef779;p=flightgear.git Fix canvas clean up. On clean up there are no parents any more and therefore the assertion was triggered. --- diff --git a/src/Canvas/canvas.cxx b/src/Canvas/canvas.cxx index f1a6ef983..7f2c85902 100644 --- a/src/Canvas/canvas.cxx +++ b/src/Canvas/canvas.cxx @@ -434,15 +434,17 @@ void Canvas::clearPlacements(int index) osg::ref_ptr group = placements.back(); placements.pop_back(); - assert( group->getNumParents() == 1 ); assert( group->getNumChildren() == 1 ); - - osg::Group *parent = group->getParent(0); osg::Node *child = group->getChild(0); - parent->addChild(child); + if( group->getNumParents() ) + { + osg::Group *parent = group->getParent(0); + parent->addChild(child); + parent->removeChild(group); + } + group->removeChild(child); - parent->removeChild(group); } }