Commit ba8fff9a authored by Sam Lantinga's avatar Sam Lantinga

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.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403907
parent b42df3ec
...@@ -1596,6 +1596,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface) ...@@ -1596,6 +1596,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
renderer = SDL_CurrentDisplay.current_renderer; renderer = SDL_CurrentDisplay.current_renderer;
if (!renderer) { if (!renderer) {
SDL_SetError("No current renderer available");
return 0; return 0;
} }
...@@ -1815,10 +1816,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface) ...@@ -1815,10 +1816,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
if (bpp == fmt->BitsPerPixel && Rmask == fmt->Rmask && Gmask == fmt->Gmask if (bpp == fmt->BitsPerPixel && Rmask == fmt->Rmask && Gmask == fmt->Gmask
&& Bmask == fmt->Bmask && Amask == fmt->Amask) { && Bmask == fmt->Bmask && Amask == fmt->Amask) {
if (SDL_MUSTLOCK(surface)) { if (SDL_MUSTLOCK(surface)) {
if (SDL_LockSurface(surface) < 0) { SDL_LockSurface(surface);
SDL_DestroyTexture(textureID);
return 0;
}
SDL_UpdateTexture(textureID, NULL, surface->pixels, SDL_UpdateTexture(textureID, NULL, surface->pixels,
surface->pitch); surface->pitch);
SDL_UnlockSurface(surface); SDL_UnlockSurface(surface);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment