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,