From 20a886164f8368af6c47d8891703ff83b6049b29 Mon Sep 17 00:00:00 2001 From: Vitaliy Margolen Date: Sat, 25 Feb 2006 23:15:44 -0700 Subject: [PATCH] x11drv: Convert 24-bit into 32-bit color before looking for an available screen resolution. We do this during enumeration, so there would be no 24-bit modes available. --- dlls/x11drv/settings.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/x11drv/settings.c b/dlls/x11drv/settings.c index 5e3665f08d4..5187b8b0b39 100644 --- a/dlls/x11drv/settings.c +++ b/dlls/x11drv/settings.c @@ -237,7 +237,7 @@ static const char * _DM_fields(DWORD fields) 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( LPCWSTR devname, LPDEVMODEW devmode, } 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)