[WIN32SS] In PDEVOBJ_vRefreshModeList, do not change current stored mode

When changing current devmode, we must not only change ppdev->pdmwDev
pointer, but also update lots of other structures. This work is done by
PDEVOBJ_lChangeDisplaySettings.

CORE-18169
This commit is contained in:
Hervé Poussineau 2022-04-30 23:26:53 +02:00
parent d1cd80c861
commit d8b3402fe6

View file

@ -379,7 +379,6 @@ PDEVOBJ_vRefreshModeList(
{
PGRAPHICS_DEVICE pGraphicsDevice;
PDEVMODEINFO pdminfo, pdmiNext;
PDEVMODEW newDevMode;
/* Lock the PDEV */
EngAcquireSemaphore(ppdev->hsemDevLock);
@ -398,12 +397,8 @@ PDEVOBJ_vRefreshModeList(
ExFreePoolWithTag(pGraphicsDevice->pDevModeList, GDITAG_GDEVICE);
pGraphicsDevice->pDevModeList = NULL;
/* Search an available display mode */
if (LDEVOBJ_bProbeAndCaptureDevmode(pGraphicsDevice, ppdev->pdmwDev, &newDevMode, TRUE))
{
ExFreePoolWithTag(ppdev->pdmwDev, GDITAG_DEVMODE);
ppdev->pdmwDev = newDevMode;
}
/* Update available display mode list */
LDEVOBJ_bBuildDevmodeList(pGraphicsDevice);
/* Unlock PDEV */
EngReleaseSemaphore(ppdev->hsemDevLock);