diff options
author | Jacek Antonelli | 2008-08-15 23:45:04 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:04 -0500 |
commit | 117e22047c5752352342d64e3fb7ce00a4eb8113 (patch) | |
tree | e32de2cfba0dda8705ae528fcd1fbe23ba075685 /linden/indra/llwindow/llwindowwin32.cpp | |
parent | Second Life viewer sources 1.18.0.6 (diff) | |
download | meta-impy-117e22047c5752352342d64e3fb7ce00a4eb8113.zip meta-impy-117e22047c5752352342d64e3fb7ce00a4eb8113.tar.gz meta-impy-117e22047c5752352342d64e3fb7ce00a4eb8113.tar.bz2 meta-impy-117e22047c5752352342d64e3fb7ce00a4eb8113.tar.xz |
Second Life viewer sources 1.18.1.2
Diffstat (limited to 'linden/indra/llwindow/llwindowwin32.cpp')
-rw-r--r-- | linden/indra/llwindow/llwindowwin32.cpp | 12 |
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) |