summaryrefslogtreecommitdiff
path: root/src/render/mobileopenglgraphics.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-10-11 14:48:19 +0300
committerAndrei Karas <akaras@inbox.ru>2013-10-11 15:24:57 +0300
commitf1b82c1b06604c2c1eed750a6c980aa0b5355560 (patch)
tree3e524583691af0e5a17e5ee974439b4c6ea07ef4 /src/render/mobileopenglgraphics.cpp
parent452f2489bf3225235797ea08ea0d466f80409a87 (diff)
downloadmanaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.gz
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.bz2
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.xz
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.zip
First part of checks from Parasoft C++ Test.
Diffstat (limited to 'src/render/mobileopenglgraphics.cpp')
-rw-r--r--src/render/mobileopenglgraphics.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/render/mobileopenglgraphics.cpp b/src/render/mobileopenglgraphics.cpp
index b5e1cb883..972bcc89a 100644
--- a/src/render/mobileopenglgraphics.cpp
+++ b/src/render/mobileopenglgraphics.cpp
@@ -905,15 +905,17 @@ SDL_Surface* MobileOpenGLGraphics::getScreenshot()
if (SDL_MUSTLOCK(screenshot))
SDL_LockSurface(screenshot);
+ const unsigned int lineSize = 3 * w;
+ GLubyte *const buf = static_cast<GLubyte*>(malloc(lineSize));
+ if (!buf)
+ return nullptr;
+
// Grap the pixel buffer and write it to the SDL surface
glGetIntegerv(GL_PACK_ALIGNMENT, &pack);
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, w, h, GL_RGB, GL_UNSIGNED_BYTE, screenshot->pixels);
// Flip the screenshot, as OpenGL has 0,0 in bottom left
- const unsigned int lineSize = 3 * w;
- GLubyte *const buf = static_cast<GLubyte*>(malloc(lineSize));
-
const int h2 = h / 2;
for (int i = 0; i < h2; i++)
{