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
This commit is contained in:
parent
b42df3ec21
commit
ba8fff9ab2
1 changed files with 2 additions and 4 deletions
|
@ -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)
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue