diff --git a/src/osg/Geometry.cpp b/src/osg/Geometry.cpp index f16f20343..7e129db8a 100644 --- a/src/osg/Geometry.cpp +++ b/src/osg/Geometry.cpp @@ -796,7 +796,7 @@ void Geometry::setUseVertexBufferObjects(bool flag) VertexBufferObjectList vboList; - osg::VertexBufferObject* vbo = 0; + osg::ref_ptr vbo; ArrayList::iterator vitr; for(vitr = arrayList.begin(); @@ -814,7 +814,7 @@ void Geometry::setUseVertexBufferObjects(bool flag) ++vitr) { osg::Array* array = *vitr; - if (!array->getVertexBufferObject()) array->setVertexBufferObject(vbo); + if (!array->getVertexBufferObject()) array->setVertexBufferObject(vbo.get()); } } @@ -822,7 +822,7 @@ void Geometry::setUseVertexBufferObjects(bool flag) { ElementBufferObjectList eboList; - osg::ElementBufferObject* ebo = 0; + osg::ref_ptr ebo; DrawElementsList::iterator deitr; for(deitr = drawElementsList.begin(); @@ -840,7 +840,7 @@ void Geometry::setUseVertexBufferObjects(bool flag) ++deitr) { osg::DrawElements* elements = *deitr; - if (!elements->getElementBufferObject()) elements->setElementBufferObject(ebo); + if (!elements->getElementBufferObject()) elements->setElementBufferObject(ebo.get()); } } }