mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[WIN32SS:NTUSER] Completely update the metrics in co_IntInitializeDesktopGraphics().
This change is similar to what is done in UserChangeDisplaySettings() after changing screen video mode. This allows e.g. having windows to be correctly maximized during 2nd-stage GUI setup. To compare and reproduce during 2nd-stage GUI setup, open cmd.exe (Shift-F10) and from there a GUI app, e.g. regedit.exe, and maximize it. Observe the limits used by the window.
This commit is contained in:
parent
01e5cb0c04
commit
ca24df9c85
|
@ -271,7 +271,7 @@ co_IntInitializeDesktopGraphics(VOID)
|
|||
}
|
||||
GreSetDCOwner(ScreenDeviceContext, GDI_OBJ_HMGR_PUBLIC);
|
||||
|
||||
if (! IntCreatePrimarySurface())
|
||||
if (!IntCreatePrimarySurface())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -281,6 +281,12 @@ co_IntInitializeDesktopGraphics(VOID)
|
|||
NtGdiSelectFont(hSystemBM, NtGdiGetStockObject(SYSTEM_FONT));
|
||||
GreSetDCOwner(hSystemBM, GDI_OBJ_HMGR_PUBLIC);
|
||||
|
||||
/* Update the system metrics */
|
||||
InitMetrics();
|
||||
|
||||
/* Set new size of the monitor */
|
||||
UserUpdateMonitorSize((HDEV)gppdevPrimary);
|
||||
|
||||
/* Update the SERVERINFO */
|
||||
gpsi->aiSysMet[SM_CXSCREEN] = gppdevPrimary->gdiinfo.ulHorzRes;
|
||||
gpsi->aiSysMet[SM_CYSCREEN] = gppdevPrimary->gdiinfo.ulVertRes;
|
||||
|
@ -293,7 +299,9 @@ co_IntInitializeDesktopGraphics(VOID)
|
|||
gpsi->PUSIFlags |= PUSIF_PALETTEDISPLAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
gpsi->PUSIFlags &= ~PUSIF_PALETTEDISPLAY;
|
||||
}
|
||||
// Font is realized and this dc was previously set to internal DC_ATTR.
|
||||
gpsi->cxSysFontChar = IntGetCharDimensions(hSystemBM, &tmw, (DWORD*)&gpsi->cySysFontChar);
|
||||
gpsi->tmSysFont = tmw;
|
||||
|
|
Loading…
Reference in a new issue