https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f981a68ee06749aff831a6e80008e7ffacfe72a4

commit f981a68ee06749aff831a6e80008e7ffacfe72a4
Author:     Katayma Hirofumi MZ <[email protected]>
AuthorDate: Sat Nov 16 12:52:40 2019 +0900
Commit:     Katayma Hirofumi MZ <[email protected]>
CommitDate: Sat Nov 16 12:52:40 2019 +0900

    [USER32] Improve DM_REPOSITION CORE-16490
---
 win32ss/user/user32/windows/dialog.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/win32ss/user/user32/windows/dialog.c 
b/win32ss/user/user32/windows/dialog.c
index 3a88800a810..09879a74789 100644
--- a/win32ss/user/user32/windows/dialog.c
+++ b/win32ss/user/user32/windows/dialog.c
@@ -1185,39 +1185,37 @@ static void DEFDLG_Reposition(HWND hwnd)
     HMONITOR hMon;
     MONITORINFO mi = { sizeof(mi) };
     RECT rc;
-    SIZE siz;
+    LONG cx, cy;
 
     if (GetWindowLongW(hwnd, GWL_STYLE) & WS_CHILD)
         return;
 
-    hMon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTOPRIMARY);
+    hMon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
 
     if (!GetMonitorInfoW(hMon, &mi) || !GetWindowRect(hwnd, &rc))
         return;
 
-    siz.cx = rc.right - rc.left;
-    siz.cy = rc.bottom - rc.top;
+    cx = rc.right - rc.left;
+    cy = rc.bottom - rc.top;
 
     if (rc.right > mi.rcWork.right)
     {
         rc.right = mi.rcWork.right;
-        rc.left = rc.right - siz.cx;
+        rc.left = rc.right - cx;
     }
     if (rc.bottom > mi.rcWork.bottom - 4)
     {
         rc.bottom = mi.rcWork.bottom - 4;
-        rc.top = rc.bottom - siz.cy;
+        rc.top = rc.bottom - cy;
     }
 
     if (rc.left < mi.rcWork.left)
     {
         rc.left = mi.rcWork.left;
-        rc.right = rc.left + siz.cx;
     }
     if (rc.top < mi.rcWork.top)
     {
         rc.top = mi.rcWork.top;
-        rc.bottom = rc.top + siz.cy;
     }
 
     SetWindowPos(hwnd, NULL, rc.left, rc.top, 0, 0,

Reply via email to