X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fwin32ss%2Fgdi%2Feng%2Fdevice.c;h=32d0ce629fb1d3be6ce227afd443076f3e094de1;hp=8b3b744ea61713939cbfac0c68bc9891db138fcd;hb=2c47dbb49fb55d180972a9e9fdfac33f0275a825;hpb=4adc3e9bbde3057928efa9b920e48473a71cc7dd diff --git a/reactos/win32ss/gdi/eng/device.c b/reactos/win32ss/gdi/eng/device.c index 8b3b744ea61..32d0ce629fb 100644 --- a/reactos/win32ss/gdi/eng/device.c +++ b/reactos/win32ss/gdi/eng/device.c @@ -50,6 +50,7 @@ EngpRegisterGraphicsDevice( PDEVMODEINFO pdminfo; PDEVMODEW pdm, pdmEnd; PLDEVOBJ pldev; + BOOLEAN bModeMatch = FALSE; TRACE("EngpRegisterGraphicsDevice(%wZ)\n", pustrDeviceName); @@ -185,11 +186,10 @@ EngpRegisterGraphicsDevice( } TRACE("Looking for mode %lux%lux%lu(%lu Hz)\n", - pdm->dmDeviceName, - pdm->dmPelsWidth, - pdm->dmPelsHeight, - pdm->dmBitsPerPel, - pdm->dmDisplayFrequency); + pdmDefault->dmPelsWidth, + pdmDefault->dmPelsHeight, + pdmDefault->dmBitsPerPel, + pdmDefault->dmDisplayFrequency); /* Loop through all DEVMODEINFOs */ for (pdminfo = pGraphicsDevice->pdevmodeInfo, i = 0; @@ -211,14 +211,19 @@ EngpRegisterGraphicsDevice( pdm->dmBitsPerPel, pdm->dmDisplayFrequency); /* Compare with the default entry */ - if (pdm->dmBitsPerPel == pdmDefault->dmBitsPerPel && + if (!bModeMatch && + pdm->dmBitsPerPel == pdmDefault->dmBitsPerPel && pdm->dmPelsWidth == pdmDefault->dmPelsWidth && - pdm->dmPelsHeight == pdmDefault->dmPelsHeight && - pdm->dmDisplayFrequency == pdmDefault->dmDisplayFrequency) + pdm->dmPelsHeight == pdmDefault->dmPelsHeight) { pGraphicsDevice->iDefaultMode = i; pGraphicsDevice->iCurrentMode = i; TRACE("Found default entry: %lu '%ls'\n", i, pdm->dmDeviceName); + if (pdm->dmDisplayFrequency == pdmDefault->dmDisplayFrequency) + { + /* Uh oh, even the display frequency matches. */ + bModeMatch = TRUE; + } } /* Initialize the entry */