# HG changeset patch # User Sam Lantinga # Date 991921930 0 # Node ID 60a6e045808e3e61dd7f7e07a770bd2364874a0e # Parent 25091c75acc4814234a596962e7f792b0eb1be51 Fix palette creation in windowed mode at 8 bpp diff -r 25091c75acc4 -r 60a6e045808e src/video/windib/SDL_dibvideo.c --- a/src/video/windib/SDL_dibvideo.c Sun May 27 01:04:01 2001 +0000 +++ b/src/video/windib/SDL_dibvideo.c Thu Jun 07 13:52:10 2001 +0000 @@ -522,22 +522,24 @@ 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);