1.1 --- a/src/SDL_compat.c Wed Jan 19 16:02:15 2011 -0800
1.2 +++ b/src/SDL_compat.c Wed Jan 19 16:06:47 2011 -0800
1.3 @@ -155,11 +155,21 @@
1.4 modes = NULL;
1.5 for (i = 0; i < SDL_GetNumDisplayModes(); ++i) {
1.6 SDL_DisplayMode mode;
1.7 + int bpp;
1.8 +
1.9 SDL_GetDisplayMode(i, &mode);
1.10 if (!mode.w || !mode.h) {
1.11 return (SDL_Rect **) (-1);
1.12 }
1.13 - if (SDL_BITSPERPIXEL(mode.format) != format->BitsPerPixel) {
1.14 +
1.15 + /* Copied from src/video/SDL_pixels.c:SDL_PixelFormatEnumToMasks */
1.16 + if (SDL_BYTESPERPIXEL(mode.format) <= 2) {
1.17 + bpp = SDL_BITSPERPIXEL(mode.format);
1.18 + } else {
1.19 + bpp = SDL_BYTESPERPIXEL(mode.format) * 8;
1.20 + }
1.21 +
1.22 + if (bpp != format->BitsPerPixel) {
1.23 continue;
1.24 }
1.25 if (nmodes > 0 && modes[nmodes - 1]->w == mode.w