[Bf-blender-cvs] [4af287f] master: BGE: Fix memory leak in VBO code
Mitchell Stokes
noreply at git.blender.org
Fri Mar 11 04:45:25 CET 2016
Commit: 4af287fc9c3ad5f58bfd226287254173fe288cde
Author: Mitchell Stokes
Date: Thu Mar 10 19:05:24 2016 -0800
Branches: master
https://developer.blender.org/rB4af287fc9c3ad5f58bfd226287254173fe288cde
BGE: Fix memory leak in VBO code
===================================================================
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h
===================================================================
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
index 08d27cb..cad5b5a 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
@@ -193,6 +193,11 @@ bool RAS_StorageVBO::Init()
void RAS_StorageVBO::Exit()
{
+ VBOMap::iterator it = m_vbo_lookup.begin();
+ while (it != m_vbo_lookup.end()) {
+ delete it->second;
+ ++it;
+ }
m_vbo_lookup.clear();
}
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h
index f78faa9..9cb3449 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h
@@ -62,6 +62,8 @@ private:
void* uv_offset;
};
+typedef std::map<RAS_DisplayArray*, VBO*> VBOMap;
+
class RAS_StorageVBO : public RAS_IStorage
{
@@ -86,7 +88,7 @@ protected:
RAS_IRasterizer::TexCoGen* m_attrib;
int* m_attrib_layer;
- std::map<RAS_DisplayArray*, class VBO*> m_vbo_lookup;
+ VBOMap m_vbo_lookup;
#ifdef WITH_CXX_GUARDEDALLOC
public:
More information about the Bf-blender-cvs
mailing list