aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/PlatWin.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index 09bf83ded..d2b88bda3 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -769,10 +769,13 @@ void Window::SetPositionRelative(PRectangle rc, Window w) {
if (style & WS_POPUP) {
RECT rcOther;
::GetWindowRect(reinterpret_cast<HWND>(w.GetID()), &rcOther);
- rc.top += rcOther.top;
- rc.left += rcOther.left;
- rc.bottom += rcOther.top;
- rc.right += rcOther.left;
+ rc.Move(rcOther.left, rcOther.top);
+ if (rc.left < 0) {
+ rc.Move(-rc.left,0);
+ }
+ if (rc.top < 0) {
+ rc.Move(0,-rc.top);
+ }
}
SetPosition(rc);
}