diff --git a/src/osgUtil/Optimizer.cpp b/src/osgUtil/Optimizer.cpp index ac0dad9bc..ae2d0343f 100644 --- a/src/osgUtil/Optimizer.cpp +++ b/src/osgUtil/Optimizer.cpp @@ -2841,9 +2841,10 @@ struct LessGeode { bool operator() (const osg::Geode* lhs,const osg::Geode* rhs) const { - if (lhs->getStateSet()getStateSet()) return true; if (lhs->getNodeMask()getNodeMask()) return true; - return false; + if (lhs->getNodeMask()>rhs->getNodeMask()) return false; + + return (lhs->getStateSet()getStateSet()); } };