diff --git a/src/osgPlugins/dae/daeRMaterials.cpp b/src/osgPlugins/dae/daeRMaterials.cpp index 9e7e216f7..02c920537 100644 --- a/src/osgPlugins/dae/daeRMaterials.cpp +++ b/src/osgPlugins/dae/daeRMaterials.cpp @@ -200,10 +200,18 @@ void daeReader::processBindMaterial( domBind_material *bm, domGeometry *geom, os // 0..* void daeReader::processMaterial(osg::StateSet *ss, domMaterial *mat ) { - _currentInstance_effect = mat->getInstance_effect(); - if (mat && mat->getName()) { + if (!mat) + { + return; + } + if (mat->getName()) { ss->setName(mat->getName()); } + _currentInstance_effect = mat->getInstance_effect(); + if (!_currentInstance_effect) + { + return; + } domEffect *effect = daeSafeCast< domEffect >( getElementFromURI( _currentInstance_effect->getUrl() ) ); if (effect) {