summaryrefslogtreecommitdiff
path: root/src/render/normalopenglgraphics.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-03-17 18:18:28 +0300
committerAndrei Karas <akaras@inbox.ru>2014-03-17 18:18:28 +0300
commit4364a3fcae6b7994f3ee92811ce8d000dcb785ce (patch)
tree6b7012061d7dd4f36b8ae020de1a85586c91d611 /src/render/normalopenglgraphics.cpp
parentfa69d82536fbe9b9b7763ae8a106f59757bec116 (diff)
downloadmanaplus-4364a3fcae6b7994f3ee92811ce8d000dcb785ce.tar.gz
manaplus-4364a3fcae6b7994f3ee92811ce8d000dcb785ce.tar.bz2
manaplus-4364a3fcae6b7994f3ee92811ce8d000dcb785ce.tar.xz
manaplus-4364a3fcae6b7994f3ee92811ce8d000dcb785ce.zip
Fix memory leak on window resize.
Diffstat (limited to 'src/render/normalopenglgraphics.cpp')
-rw-r--r--src/render/normalopenglgraphics.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/render/normalopenglgraphics.cpp b/src/render/normalopenglgraphics.cpp
index 6bc25be32..ebac68e1b 100644
--- a/src/render/normalopenglgraphics.cpp
+++ b/src/render/normalopenglgraphics.cpp
@@ -131,12 +131,18 @@ void NormalOpenGLGraphics::initArrays()
// need alocate small size, after if limit reached reallocate to double size
vertexBufSize = mMaxVertices;
const int sz = mMaxVertices * 4 + 30;
- mFloatTexArray = new GLfloat[sz];
- mIntTexArray = new GLint[sz];
- mIntVertArray = new GLint[sz];
- mFloatTexArrayCached = new GLfloat[sz];
- mIntTexArrayCached = new GLint[sz];
- mIntVertArrayCached = new GLint[sz];
+ if (!mFloatTexArray)
+ mFloatTexArray = new GLfloat[sz];
+ if (!mIntTexArray)
+ mIntTexArray = new GLint[sz];
+ if (!mIntVertArray)
+ mIntVertArray = new GLint[sz];
+ if (!mFloatTexArrayCached)
+ mFloatTexArrayCached = new GLfloat[sz];
+ if (!mIntTexArrayCached)
+ mIntTexArrayCached = new GLint[sz];
+ if (!mIntVertArrayCached)
+ mIntVertArrayCached = new GLint[sz];
}
bool NormalOpenGLGraphics::setVideoMode(const int w, const int h,