From 4c75313ced96f9d63c7f79bc537b21906a4f5dc7 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 29 Jan 2009 17:19:47 +0000 Subject: [PATCH] Fixed handling of files with event callbacks on them. --- src/osgPlugins/osgVolume/ImageLayer.cpp | 2 +- src/osgPlugins/osgVolume/VolumeTile.cpp | 21 +++++++-------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/osgPlugins/osgVolume/ImageLayer.cpp b/src/osgPlugins/osgVolume/ImageLayer.cpp index 8d7e11d3f..71cd4904b 100644 --- a/src/osgPlugins/osgVolume/ImageLayer.cpp +++ b/src/osgPlugins/osgVolume/ImageLayer.cpp @@ -65,7 +65,7 @@ bool ImageLayer_readLocalData(osg::Object& obj, osgDB::Input &fr) image = osgDB::readRefImageFile( filename ); } - osg::notify(osg::NOTICE)<<"image "<getPixelFormat()<<" textureFormat "<getInternalTextureFormat()<<" dataType "<getDataType()<getPixelFormat()<<" textureFormat "<getInternalTextureFormat()<<" dataType "<getDataType()<(readObject.get()); if (locator) volumeTile.setLocator(locator); - { - osg::ref_ptr readObject = fr.readObjectOfType(osgDB::type_wrapper()); - osgVolume::Layer* readLayer = dynamic_cast(readObject.get()); - if (readLayer) - { - volumeTile.setLayer(readLayer); - } - itrAdvanced = true; - } + readObject = fr.readObjectOfType(osgDB::type_wrapper()); + if (readObject.valid()) itrAdvanced = true; + + osgVolume::Layer* readLayer = dynamic_cast(readObject.get()); + if (readLayer) volumeTile.setLayer(readLayer); readObject = fr.readObjectOfType(osgDB::type_wrapper()); @@ -158,12 +154,9 @@ bool VolumeTile_writeLocalData(const osg::Object& obj, osgDB::Output& fw) fw.writeObject(*volumeTile.getLocator()); } + if (volumeTile.getLayer()) { - const osgVolume::Layer* layer = volumeTile.getLayer(); - if (layer) - { - fw.writeObject(*layer); - } + fw.writeObject(*volumeTile.getLayer()); } if (volumeTile.getVolumeTechnique())