aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow/llwindowwin32.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llwindow/llwindowwin32.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp
index 0b3cdd4..3a41d01 100644
--- a/linden/indra/llwindow/llwindowwin32.cpp
+++ b/linden/indra/llwindow/llwindowwin32.cpp
@@ -1585,6 +1585,11 @@ void LLWindowWin32::moveWindow( const LLCoordScreen& position, const LLCoordScre
1585 } 1585 }
1586 } 1586 }
1587 1587
1588 // if the window was already maximized, MoveWindow seems to still set the maximized flag even if
1589 // the window is smaller than maximized.
1590 // So we're going to do a restore first (which is a ShowWindow call) (SL-44655).
1591 ShowWindow(mWindowHandle, SW_RESTORE);
1592 // NOW we can call MoveWindow
1588 MoveWindow(mWindowHandle, position.mX, position.mY, size.mX, size.mY, TRUE); 1593 MoveWindow(mWindowHandle, position.mX, position.mY, size.mX, size.mY, TRUE);
1589} 1594}
1590 1595
@@ -2289,6 +2294,13 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2289 << llendl; 2294 << llendl;
2290 } 2295 }
2291 2296
2297 // There's an odd behavior with WM_SIZE that I would call a bug. If
2298 // the window is maximized, and you call MoveWindow() with a size smaller
2299 // than a maximized window, it ends up sending WM_SIZE with w_param set
2300 // to SIZE_MAXIMIZED -- which isn't true. So the logic below doesn't work.
2301 // (SL-44655). Fixed it by calling ShowWindow(SW_RESTORE) first (see
2302 // LLWindowWin32::moveWindow in this file).
2303
2292 // If we are now restored, but we weren't before, this 2304 // If we are now restored, but we weren't before, this
2293 // means that the window was un-minimized. 2305 // means that the window was un-minimized.
2294 if (w_param == SIZE_RESTORED && window_imp->mLastSizeWParam != SIZE_RESTORED) 2306 if (w_param == SIZE_RESTORED && window_imp->mLastSizeWParam != SIZE_RESTORED)