diff --git a/src/osgWrappers/serializers/osg/ProxyNode.cpp b/src/osgWrappers/serializers/osg/ProxyNode.cpp index 988fc2b76..1c6542e38 100644 --- a/src/osgWrappers/serializers/osg/ProxyNode.cpp +++ b/src/osgWrappers/serializers/osg/ProxyNode.cpp @@ -44,13 +44,17 @@ static bool checkChildren( const osg::ProxyNode& node ) static bool readChildren( osgDB::InputStream& is, osg::ProxyNode& node ) { - unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; - for ( unsigned int i=0; i> size; + if (size > 0) { - osg::Node* child = dynamic_cast( is.readObject() ); - if ( child ) node.addChild( child ); + is >> is.BEGIN_BRACKET; + for ( unsigned int i=0; i( is.readObject() ); + if ( child ) node.addChild( child ); + } + is >> is.END_BRACKET; } - is >> is.END_BRACKET; return true; }