From d55d7a51d7852df784446e69975f6575fbceccdc Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 27 Sep 2010 00:48:56 -0700 Subject: [PATCH] Code will never reach SDL_SetTexturePalette since SDL_SetDisplayPalette will fail if the display e.g. is RGB32 or RGB24. The patch will ignore errors in SDL_SetDislayPalette. This should also affect the opengl renderer on systems supporting paletted textures - mine does not (NVIDIA). With this patch the directfb drivers delivers the same results for test_palette like the software renderer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kind regards, André --- src/SDL_compat.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SDL_compat.c b/src/SDL_compat.c index bb8e46ba8..b4cd7c2c0 100644 --- a/src/SDL_compat.c +++ b/src/SDL_compat.c @@ -321,7 +321,10 @@ SDL_VideoPaletteChanged(void *userdata, SDL_Palette * palette) } if (userdata == SDL_VideoSurface) { if (SDL_SetDisplayPalette(palette->colors, 0, palette->ncolors) < 0) { - return -1; + /* The display surface not necessarily needs to have a palette. + * Just do nothing here and try to set the texture palette. + */ + //return -1; } if (SDL_SetTexturePalette (SDL_VideoTexture, palette->colors, 0, palette->ncolors) < 0) {