Mercurial > sdl-ios-xcode
comparison src/video/SDL_video.c @ 3315:87ffdad11607
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.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 26 Sep 2009 10:13:44 +0000 |
parents | 1ed5d432e468 |
children | 9cf18687b761 |
comparison
equal
deleted
inserted
replaced
3314:8b01b0648f01 | 3315:87ffdad11607 |
---|---|
1594 } | 1594 } |
1595 fmt = surface->format; | 1595 fmt = surface->format; |
1596 | 1596 |
1597 renderer = SDL_CurrentDisplay.current_renderer; | 1597 renderer = SDL_CurrentDisplay.current_renderer; |
1598 if (!renderer) { | 1598 if (!renderer) { |
1599 SDL_SetError("No current renderer available"); | |
1599 return 0; | 1600 return 0; |
1600 } | 1601 } |
1601 | 1602 |
1602 if (format) { | 1603 if (format) { |
1603 if (!SDL_PixelFormatEnumToMasks | 1604 if (!SDL_PixelFormatEnumToMasks |
1813 return 0; | 1814 return 0; |
1814 } | 1815 } |
1815 if (bpp == fmt->BitsPerPixel && Rmask == fmt->Rmask && Gmask == fmt->Gmask | 1816 if (bpp == fmt->BitsPerPixel && Rmask == fmt->Rmask && Gmask == fmt->Gmask |
1816 && Bmask == fmt->Bmask && Amask == fmt->Amask) { | 1817 && Bmask == fmt->Bmask && Amask == fmt->Amask) { |
1817 if (SDL_MUSTLOCK(surface)) { | 1818 if (SDL_MUSTLOCK(surface)) { |
1818 if (SDL_LockSurface(surface) < 0) { | 1819 SDL_LockSurface(surface); |
1819 SDL_DestroyTexture(textureID); | |
1820 return 0; | |
1821 } | |
1822 SDL_UpdateTexture(textureID, NULL, surface->pixels, | 1820 SDL_UpdateTexture(textureID, NULL, surface->pixels, |
1823 surface->pitch); | 1821 surface->pitch); |
1824 SDL_UnlockSurface(surface); | 1822 SDL_UnlockSurface(surface); |
1825 } else { | 1823 } else { |
1826 SDL_UpdateTexture(textureID, NULL, surface->pixels, | 1824 SDL_UpdateTexture(textureID, NULL, surface->pixels, |