optimizer: avoid reordering nodes

Fixes an osgParticle cloning issue.

(Fixes #3773)
This commit is contained in:
scrawl 2017-02-26 03:23:49 +01:00
parent a95773beef
commit 5caf53b6a3

View File

@ -847,10 +847,11 @@ void Optimizer::RemoveRedundantNodesVisitor::removeRedundantNodes()
pitr!=parents.end(); pitr!=parents.end();
++pitr) ++pitr)
{ {
unsigned int childIndex = (*pitr)->getChildIndex(group);
for (unsigned int i=0; i<group->getNumChildren(); ++i) for (unsigned int i=0; i<group->getNumChildren(); ++i)
{ {
osg::Node* child = group->getChild(i); osg::Node* child = group->getChild(i);
(*pitr)->addChild(child); (*pitr)->insertChild(childIndex++, child);
} }
(*pitr)->removeChild(group); (*pitr)->removeChild(group);