diff --git a/src/osg/TextureBuffer.cpp b/src/osg/TextureBuffer.cpp index 91eea6c51..05187932a 100644 --- a/src/osg/TextureBuffer.cpp +++ b/src/osg/TextureBuffer.cpp @@ -35,7 +35,9 @@ TextureBuffer::TextureBuffer(const TextureBuffer& text,const CopyOp& copyop): Texture(text,copyop), _textureWidth(text._textureWidth) { - setBufferData(osg::clone(text._bufferData.get(), copyop)); + if (text._bufferData.valid()) { + setBufferData(osg::clone(text._bufferData.get(), copyop)); + } } TextureBuffer::~TextureBuffer() diff --git a/src/osgVolume/Property.cpp b/src/osgVolume/Property.cpp index 33987cc68..01fede11c 100644 --- a/src/osgVolume/Property.cpp +++ b/src/osgVolume/Property.cpp @@ -102,7 +102,7 @@ ScalarProperty::ScalarProperty(const std::string& scalarName, float value) ScalarProperty::ScalarProperty(const ScalarProperty& sp, const osg::CopyOp& copyop): Property(sp,copyop) { - _uniform = new osg::Uniform(sp._uniform->getName().c_str(), getValue()); + _uniform = new osg::Uniform(*sp._uniform.get(), copyop); }