mirror of
https://github.com/reactos/reactos.git
synced 2025-04-27 17:10:22 +00:00
[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:
parent
d1cd80c861
commit
d8b3402fe6
1 changed files with 2 additions and 7 deletions
|
@ -379,7 +379,6 @@ PDEVOBJ_vRefreshModeList(
|
||||||
{
|
{
|
||||||
PGRAPHICS_DEVICE pGraphicsDevice;
|
PGRAPHICS_DEVICE pGraphicsDevice;
|
||||||
PDEVMODEINFO pdminfo, pdmiNext;
|
PDEVMODEINFO pdminfo, pdmiNext;
|
||||||
PDEVMODEW newDevMode;
|
|
||||||
|
|
||||||
/* Lock the PDEV */
|
/* Lock the PDEV */
|
||||||
EngAcquireSemaphore(ppdev->hsemDevLock);
|
EngAcquireSemaphore(ppdev->hsemDevLock);
|
||||||
|
@ -398,12 +397,8 @@ PDEVOBJ_vRefreshModeList(
|
||||||
ExFreePoolWithTag(pGraphicsDevice->pDevModeList, GDITAG_GDEVICE);
|
ExFreePoolWithTag(pGraphicsDevice->pDevModeList, GDITAG_GDEVICE);
|
||||||
pGraphicsDevice->pDevModeList = NULL;
|
pGraphicsDevice->pDevModeList = NULL;
|
||||||
|
|
||||||
/* Search an available display mode */
|
/* Update available display mode list */
|
||||||
if (LDEVOBJ_bProbeAndCaptureDevmode(pGraphicsDevice, ppdev->pdmwDev, &newDevMode, TRUE))
|
LDEVOBJ_bBuildDevmodeList(pGraphicsDevice);
|
||||||
{
|
|
||||||
ExFreePoolWithTag(ppdev->pdmwDev, GDITAG_DEVMODE);
|
|
||||||
ppdev->pdmwDev = newDevMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Unlock PDEV */
|
/* Unlock PDEV */
|
||||||
EngReleaseSemaphore(ppdev->hsemDevLock);
|
EngReleaseSemaphore(ppdev->hsemDevLock);
|
||||||
|
|
Loading…
Reference in a new issue