diff options
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++) { |