diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index 943a2868a1e..965b007b8b9 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -2219,22 +2219,16 @@ AllocErr: POINT MaxSize, MaxPos, MinTrack, MaxTrack; /* WinPosGetMinMaxInfo sends the WM_GETMINMAXINFO message */ - co_WinPosGetMinMaxInfo(Window, &MaxSize, &MaxPos, &MinTrack, - &MaxTrack); - if (MaxSize.x < Size.cx) - Size.cx = MaxSize.x; - if (MaxSize.y < Size.cy) - Size.cy = MaxSize.y; - if (Size.cx < MinTrack.x ) - Size.cx = MinTrack.x; - if (Size.cy < MinTrack.y ) - Size.cy = MinTrack.y; - if (Size.cx < 0) - Size.cx = 0; - if (Size.cy < 0) - Size.cy = 0; + co_WinPosGetMinMaxInfo(Window, &MaxSize, &MaxPos, &MinTrack, &MaxTrack); + if (Size.cx > MaxTrack.x) Size.cx = MaxTrack.x; + if (Size.cy > MaxTrack.y) Size.cy = MaxTrack.y; + if (Size.cx < MinTrack.x) Size.cx = MinTrack.x; + if (Size.cy < MinTrack.y) Size.cy = MinTrack.y; } + if (Size.cx < 0) Size.cx = 0; + if (Size.cy < 0) Size.cy = 0; + Wnd->rcWindow.left = Pos.x; Wnd->rcWindow.top = Pos.y; Wnd->rcWindow.right = Pos.x + Size.cx;