Pārlūkot izejas kodu

windows: Minor tweaks that makes Windows XP vidmodes work again.

(thanks @madebr!)

Fixes #8328.
Reference Issue #8666.
Ryan C. Gordon 1 gadu atpakaļ
vecāks
revīzija
dcd26a80e5
1 mainītis faili ar 8 papildinājumiem un 4 dzēšanām
  1. 8 4
      src/video/windows/SDL_windowsmodes.c

+ 8 - 4
src/video/windows/SDL_windowsmodes.c

@@ -70,10 +70,14 @@ static void WIN_UpdateDisplayMode(SDL_VideoDevice *_this, LPCWSTR deviceName, DW
                 mode->format = SDL_PIXELFORMAT_RGB555;
                 mode->format = SDL_PIXELFORMAT_RGB555;
                 break;
                 break;
             }
             }
-        } else if (bmi->bmiHeader.biBitCount == 8) {
-            mode->format = SDL_PIXELFORMAT_INDEX8;
-        } else if (bmi->bmiHeader.biBitCount == 4) {
-            mode->format = SDL_PIXELFORMAT_INDEX4LSB;
+        } else if (bmi->bmiHeader.biCompression == BI_RGB) {
+            if (bmi->bmiHeader.biBitCount == 24) {
+                mode->format = SDL_PIXELFORMAT_RGB24;
+            } else if (bmi->bmiHeader.biBitCount == 8) {
+                mode->format = SDL_PIXELFORMAT_INDEX8;
+            } else if (bmi->bmiHeader.biBitCount == 4) {
+                mode->format = SDL_PIXELFORMAT_INDEX4LSB;
+            }
         }
         }
     } else if (mode->format == SDL_PIXELFORMAT_UNKNOWN) {
     } else if (mode->format == SDL_PIXELFORMAT_UNKNOWN) {
         /* FIXME: Can we tell what this will be? */
         /* FIXME: Can we tell what this will be? */