From aa27963f6c488ddf9f7d53ef86826f2b845c7412 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 26 Sep 2009 10:13:44 +0000 Subject: [PATCH] Fixed bug #761 Mason Wheeler 2009-07-05 09:28:33 PDT This patch fixes two issues with SDL_CreateTextureFromSurface. 1. If no renderer is available, the function will return 0 without calling SDL_SetError. (It does this in other places as well, but it appears that in these cases, SDL_SetError was already called by a previous function call.) 2. Removal of a dead code block that checks for an impossible return value. --- src/video/SDL_video.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 4bb65f092..def87b5eb 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -1596,6 +1596,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface) renderer = SDL_CurrentDisplay.current_renderer; if (!renderer) { + SDL_SetError("No current renderer available"); return 0; } @@ -1815,10 +1816,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface) if (bpp == fmt->BitsPerPixel && Rmask == fmt->Rmask && Gmask == fmt->Gmask && Bmask == fmt->Bmask && Amask == fmt->Amask) { if (SDL_MUSTLOCK(surface)) { - if (SDL_LockSurface(surface) < 0) { - SDL_DestroyTexture(textureID); - return 0; - } + SDL_LockSurface(surface); SDL_UpdateTexture(textureID, NULL, surface->pixels, surface->pitch); SDL_UnlockSurface(surface);