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.
--- 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);