From c4159247c83d4d6f34ce5a8bdf77e8dcf83d303c Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Mon, 17 Sep 2018 00:04:53 +0200 Subject: [PATCH] SDL2: fix color cycling --- src/sdlscreen.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sdlscreen.c b/src/sdlscreen.c index 43c48399..054b9a59 100644 --- a/src/sdlscreen.c +++ b/src/sdlscreen.c @@ -478,7 +478,12 @@ int SetPalette(const T_Components * colors, int firstcolor, int ncolors) #if defined(USE_SDL) return SDL_SetPalette(Screen_SDL, SDL_PHYSPAL | SDL_LOGPAL, PaletteSDL, firstcolor, ncolors); #else - return SDL_SetPaletteColors(Screen_SDL->format->palette, PaletteSDL, firstcolor, ncolors); + // When using SDL2, we need to force screen update so the + // 8bit => True color conversion will be performed + i = SDL_SetPaletteColors(Screen_SDL->format->palette, PaletteSDL, firstcolor, ncolors); + if (i == 0) + Update_rect(0, 0, Screen_SDL->w, Screen_SDL->h); + return i; #endif }