- Don't be so nitpicky about display frequency when setting up display driver.
Fixes vmare letter stamp behaviour after graphics driver installation

svn path=/trunk/; revision=61577
This commit is contained in:
Jérôme Gardou 2014-01-09 23:11:03 +00:00
parent 4adc3e9bbd
commit 2c47dbb49f

View file

@ -50,6 +50,7 @@ EngpRegisterGraphicsDevice(
PDEVMODEINFO pdminfo; PDEVMODEINFO pdminfo;
PDEVMODEW pdm, pdmEnd; PDEVMODEW pdm, pdmEnd;
PLDEVOBJ pldev; PLDEVOBJ pldev;
BOOLEAN bModeMatch = FALSE;
TRACE("EngpRegisterGraphicsDevice(%wZ)\n", pustrDeviceName); TRACE("EngpRegisterGraphicsDevice(%wZ)\n", pustrDeviceName);
@ -185,11 +186,10 @@ EngpRegisterGraphicsDevice(
} }
TRACE("Looking for mode %lux%lux%lu(%lu Hz)\n", TRACE("Looking for mode %lux%lux%lu(%lu Hz)\n",
pdm->dmDeviceName, pdmDefault->dmPelsWidth,
pdm->dmPelsWidth, pdmDefault->dmPelsHeight,
pdm->dmPelsHeight, pdmDefault->dmBitsPerPel,
pdm->dmBitsPerPel, pdmDefault->dmDisplayFrequency);
pdm->dmDisplayFrequency);
/* Loop through all DEVMODEINFOs */ /* Loop through all DEVMODEINFOs */
for (pdminfo = pGraphicsDevice->pdevmodeInfo, i = 0; for (pdminfo = pGraphicsDevice->pdevmodeInfo, i = 0;
@ -211,14 +211,19 @@ EngpRegisterGraphicsDevice(
pdm->dmBitsPerPel, pdm->dmBitsPerPel,
pdm->dmDisplayFrequency); pdm->dmDisplayFrequency);
/* Compare with the default entry */ /* Compare with the default entry */
if (pdm->dmBitsPerPel == pdmDefault->dmBitsPerPel && if (!bModeMatch &&
pdm->dmBitsPerPel == pdmDefault->dmBitsPerPel &&
pdm->dmPelsWidth == pdmDefault->dmPelsWidth && pdm->dmPelsWidth == pdmDefault->dmPelsWidth &&
pdm->dmPelsHeight == pdmDefault->dmPelsHeight && pdm->dmPelsHeight == pdmDefault->dmPelsHeight)
pdm->dmDisplayFrequency == pdmDefault->dmDisplayFrequency)
{ {
pGraphicsDevice->iDefaultMode = i; pGraphicsDevice->iDefaultMode = i;
pGraphicsDevice->iCurrentMode = i; pGraphicsDevice->iCurrentMode = i;
TRACE("Found default entry: %lu '%ls'\n", i, pdm->dmDeviceName); 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 */ /* Initialize the entry */