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.
This commit is contained in:
Sam Lantinga 2009-09-26 10:13:44 +00:00
parent 8c5ed7b905
commit 38c3f80d5f

View File

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