x11drv: Convert 24-bit into 32-bit color before looking for an available screen

Vitaliy Margolen wine-patch at kievinfo.com
Sun Feb 26 00:15:44 CST 2006


ChangeLog:
x11drv: Convert 24-bit into 32-bit color before looking for an available screen
resolution. We do this durring enumeration, so there would be no 24-bit modes available.

 dlls/x11drv/settings.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
-------------- next part --------------
0604a7a016b786826ced47f9972fc4b2e0f06626
diff --git a/dlls/x11drv/settings.c b/dlls/x11drv/settings.c
index 5e3665f..5187b8b 100644
--- a/dlls/x11drv/settings.c
+++ b/dlls/x11drv/settings.c
@@ -237,7 +237,7 @@ static const char * _DM_fields(DWORD fie
 LONG X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
                                      HWND hwnd, DWORD flags, LPVOID lpvoid )
 {
-    DWORD i;
+    DWORD i, dwBpp;
     DEVMODEW dm;
 
     TRACE("(%s,%p,%p,0x%08lx,%p)\n",debugstr_w(devname),devmode,hwnd,flags,lpvoid);
@@ -259,12 +259,13 @@ LONG X11DRV_ChangeDisplaySettingsEx( LPC
         }
         devmode = &dm;
     }
+    dwBpp = (devmode->dmBitsPerPel == 24) ? 32 : devmode->dmBitsPerPel;
 
     for (i = 0; i < dd_mode_count; i++)
     {
         if (devmode->dmFields & DM_BITSPERPEL)
         {
-            if (devmode->dmBitsPerPel != dd_modes[i].dwBPP)
+            if (dwBpp != dd_modes[i].dwBPP)
                 continue;
         }
         if (devmode->dmFields & DM_PELSWIDTH)


More information about the wine-patches mailing list