Fixed bug #761
authorSam Lantinga <slouken@libsdl.org>
Sat, 26 Sep 2009 10:13:44 +0000
changeset 3315 87ffdad11607
parent 3314 8b01b0648f01
child 3316 9cf18687b761
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
--- a/src/video/SDL_video.c	Sat Sep 26 10:04:38 2009 +0000
+++ b/src/video/SDL_video.c	Sat Sep 26 10:13:44 2009 +0000
@@ -1596,6 +1596,7 @@
 
     renderer = SDL_CurrentDisplay.current_renderer;
     if (!renderer) {
+        SDL_SetError("No current renderer available");
         return 0;
     }
 
@@ -1815,10 +1816,7 @@
     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);