diff options
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/mobileopenglgraphics.cpp | 8 | ||||
-rw-r--r-- | src/render/sdlgraphics.cpp | 11 |
2 files changed, 9 insertions, 10 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++) { diff --git a/src/render/sdlgraphics.cpp b/src/render/sdlgraphics.cpp index 4df797762..3cba46abe 100644 --- a/src/render/sdlgraphics.cpp +++ b/src/render/sdlgraphics.cpp @@ -677,13 +677,10 @@ int SDLGraphics::SDL_FakeUpperBlit(const SDL_Surface *const src, if (w > 0 && h > 0) { - if (srcrect) - { - srcrect->x = static_cast<int16_t>(srcx); - srcrect->y = static_cast<int16_t>(srcy); - srcrect->w = static_cast<int16_t>(w); - srcrect->h = static_cast<int16_t>(h); - } + srcrect->x = static_cast<int16_t>(srcx); + srcrect->y = static_cast<int16_t>(srcy); + srcrect->w = static_cast<int16_t>(w); + srcrect->h = static_cast<int16_t>(h); dstrect->w = static_cast<int16_t>(w); dstrect->h = static_cast<int16_t>(h); |