From 16d06770f8e9d3b38f65f7ec4e203dc167ce69c2 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 7 Jun 2001 13:52:10 +0000 Subject: [PATCH] Fix palette creation in windowed mode at 8 bpp --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%4046 --- src/video/windib/SDL_dibvideo.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/video/windib/SDL_dibvideo.c b/src/video/windib/SDL_dibvideo.c index 5edfc166..70449fd1 100644 --- a/src/video/windib/SDL_dibvideo.c +++ b/src/video/windib/SDL_dibvideo.c @@ -522,22 +522,24 @@ SDL_Surface *DIB_SetVideoMode(_THIS, SDL_Surface *current, settings.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; if ( ChangeDisplaySettings(&settings, CDS_FULLSCREEN) == DISP_CHANGE_SUCCESSFUL ) { video->flags |= SDL_FULLSCREEN; - if ( screen_pal != NULL ) { - /* RJR: March 28, 2000 - delete identity palette if switching from a palettized mode */ - DeleteObject(screen_pal); - screen_pal = NULL; - } - if ( bpp <= 8 ) - { - /* RJR: March 28, 2000 - create identity palette switching to a palettized mode */ - screen_pal = DIB_CreatePalette(bpp); - } } } #endif /* !NO_CHANGEDISPLAYSETTINGS */ + /* Reset the palette and create a new one if necessary */ + if ( screen_pal != NULL ) { + /* RJR: March 28, 2000 + delete identity palette if switching from a palettized mode */ + DeleteObject(screen_pal); + screen_pal = NULL; + } + if ( bpp <= 8 ) + { + /* RJR: March 28, 2000 + create identity palette switching to a palettized mode */ + screen_pal = DIB_CreatePalette(bpp); + } + style = GetWindowLong(SDL_Window, GWL_STYLE); #ifndef _WIN32_WCE style &= ~(resizestyle|WS_MAXIMIZE);