diff --git a/src/osg/BufferObject.cpp b/src/osg/BufferObject.cpp index 79ff2258e..d71036034 100644 --- a/src/osg/BufferObject.cpp +++ b/src/osg/BufferObject.cpp @@ -356,8 +356,7 @@ void VertexBufferObject::compileBuffer(State& state) const // osg::notify(osg::NOTICE)<<"VertexBufferObject::compileBuffer frameNumber="<getFrameNumber()<getTotalDataSize(); + if (bep.first.dataSize == 0) ++numNewArrays; } } @@ -402,9 +402,8 @@ void VertexBufferObject::compileBuffer(State& state) const typedef std::map > SizePosMap_t; SizePosMap_t freeList; - if (copyAll == false) + if (copyAll == false && numNewArrays > 0) { - unsigned int numNewArrays = 0; std::map usedList; for(BufferEntryArrayPairs::const_iterator itr = _bufferEntryArrayPairs.begin(); itr != _bufferEntryArrayPairs.end();