Fixed bug 2628 - invalidate surface->map in SDL_SurfacePalette()

Wei Mingzhi

surface->map should be invalidated in SDL_SetSurfacePalette(), otherwise the palette would not be effective when blitting to another non-8bit surface which we previously blitted to.
main
Sam Lantinga 2014-07-07 21:21:05 -07:00
parent 97bdefe2ab
commit 0c8e33764c
1 changed files with 6 additions and 1 deletions

View File

@ -145,7 +145,12 @@ SDL_SetSurfacePalette(SDL_Surface * surface, SDL_Palette * palette)
if (!surface) {
return SDL_SetError("SDL_SetSurfacePalette() passed a NULL surface");
}
return SDL_SetPixelFormatPalette(surface->format, palette);
if (SDL_SetPixelFormatPalette(surface->format, palette) < 0) {
return -1;
}
SDL_InvalidateMap(surface->map);
return 0;
}
int