diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-10-11 14:48:19 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-10-11 15:24:57 +0300 |
commit | f1b82c1b06604c2c1eed750a6c980aa0b5355560 (patch) | |
tree | 3e524583691af0e5a17e5ee974439b4c6ea07ef4 /src/render/mobileopenglgraphics.cpp | |
parent | 452f2489bf3225235797ea08ea0d466f80409a87 (diff) | |
download | manaplus-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.cpp | 8 |
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++) { |