Procházet zdrojové kódy

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

(thanks @madebr!)

Fixes #8328.
Reference Issue #8666.
Ryan C. Gordon před 1 rokem
rodič
revize
dcd26a80e5
1 změnil soubory, kde provedl 8 přidání a 4 odebrání
  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;
                 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) {
         /* FIXME: Can we tell what this will be? */