From 4bc855b610aae27711b055c480293a292ec835ec Mon Sep 17 00:00:00 2001 From: Laurens Voerman Date: Fri, 7 Apr 2017 15:27:56 +0200 Subject: [PATCH] fix a crash when reading an osgt file with multiple references to a missing texture. --- src/osgDB/InputStream.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osgDB/InputStream.cpp b/src/osgDB/InputStream.cpp index 6d2de5ff5..e1cdb734d 100644 --- a/src/osgDB/InputStream.cpp +++ b/src/osgDB/InputStream.cpp @@ -858,12 +858,13 @@ osg::ref_ptr InputStream::readImage(bool readFromExternal) } else { - image = readObjectFieldsOfType("osg::Object", id, image.get()); + image = readObjectFieldsOfType("osg::Object", id, image.get());// leaves _identifierMap[id] pointing at DummyObject if image invalid if ( image.valid() ) { image->setFileName( name ); image->setWriteHint( (osg::Image::WriteHint)writeHint ); } + _identifierMap[id] = image;//valid or invalid, don't leave this pointing at an osg::Dummyobject as it's used with a static_cast when recycled } return image; }