Hopefully the last in a series of fixes for size of maximized windows
Modified: trunk/reactos/subsys/win32k/ntuser/winpos.c
_____
Modified: trunk/reactos/subsys/win32k/ntuser/winpos.c
--- trunk/reactos/subsys/win32k/ntuser/winpos.c 2005-09-16 20:13:26 UTC
(rev 17889)
+++ trunk/reactos/subsys/win32k/ntuser/winpos.c 2005-09-16 21:15:58 UTC
(rev 17890)
@@ -351,8 +351,8 @@
case SW_MAXIMIZE:
{
- co_WinPosGetMinMaxInfo(Window, NULL,
&InternalPos->MaxPos,
- NULL, &Size);
+ co_WinPosGetMinMaxInfo(Window, &Size,
&InternalPos->MaxPos,
+ NULL, NULL);
DPRINT("Maximize: %d,%d %dx%d\n",
InternalPos->MaxPos.x, InternalPos->MaxPos.y,
Size.x, Size.y);
if (Window->Style & WS_MINIMIZE)
@@ -420,25 +420,23 @@
IntGetDesktopWorkArea(Desktop, &WorkArea);
/* Get default values. */
- Info->ptMaxSize.x = WorkArea.right - WorkArea.left;
- Info->ptMaxSize.y = WorkArea.bottom - WorkArea.top;
Info->ptMinTrackSize.x = UserGetSystemMetrics(SM_CXMINTRACK);
Info->ptMinTrackSize.y = UserGetSystemMetrics(SM_CYMINTRACK);
+
+ IntGetWindowBorderMeasures(Window, &XInc, &YInc);
+ Info->ptMaxSize.x = WorkArea.right - WorkArea.left + 2 * XInc;
+ Info->ptMaxSize.y = WorkArea.bottom - WorkArea.top + 2 * YInc;
Info->ptMaxTrackSize.x = Info->ptMaxSize.x;
Info->ptMaxTrackSize.y = Info->ptMaxSize.y;
- IntGetWindowBorderMeasures(Window, &XInc, &YInc);
- Info->ptMaxTrackSize.x += 2 * XInc;
- Info->ptMaxTrackSize.y += 2 * YInc;
-
if (Window->InternalPos != NULL)
{
Info->ptMaxPosition = Window->InternalPos->MaxPos;
}
else
{
- Info->ptMaxPosition.x -= WorkArea.left + XInc;
- Info->ptMaxPosition.y -= WorkArea.top + YInc;
+ Info->ptMaxPosition.x = WorkArea.left - XInc;
+ Info->ptMaxPosition.y = WorkArea.top - YInc;
}
}
Show replies by date