diff --git a/src/video/xbios/SDL_xbios.c b/src/video/xbios/SDL_xbios.c index b2639d8ae..8ed095ec8 100644 --- a/src/video/xbios/SDL_xbios.c +++ b/src/video/xbios/SDL_xbios.c @@ -400,9 +400,19 @@ static int XBIOS_VideoInit(_THIS, SDL_PixelFormat *vformat) static SDL_Rect **XBIOS_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) { + unsigned int numlist; + /* 8 bits -> list 0 */ /* 16 bits -> list 1 */ - return(SDL_modelist[(format->BitsPerPixel)>>4]); + if (format->BitsPerPixel == 15) { + return NULL; + } + + numlist = (format->BitsPerPixel)>>4; + if (numlist>1) + return NULL; + + return(SDL_modelist[numlist]); } static void XBIOS_FreeBuffers(_THIS)