diff options
author | Richard Linden <none@none> | 2012-02-27 11:26:08 -0800 |
---|---|---|
committer | Richard Linden <none@none> | 2012-02-27 11:26:08 -0800 |
commit | 8024727d4546c07b723d1129651c189f7d2f28e3 (patch) | |
tree | b7cc9da41ab43f13f008bee706a0290e9edce46b /indra/llwindow | |
parent | 4e24022b8c4d080602014b1ebd8260f0cea527c5 (diff) |
EXP-1832 WIP Viewer Size not persistent across logins
fixed not unmaximizing properly on Windows
put in error logging on Mac
Diffstat (limited to 'indra/llwindow')
-rw-r--r-- | indra/llwindow/llwindowmacosx.cpp | 20 | ||||
-rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 9 |
2 files changed, 25 insertions, 4 deletions
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index a998d1f877..fef5f4da3b 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -1271,10 +1271,22 @@ BOOL LLWindowMacOSX::setSizeImpl(const LLCoordWindow size) Rect client_rect; if (mWindow && GetWindowBounds(mWindow, kWindowContentRgn, &client_rect) != noErr) { - client_rect.right = client_rect.left + size.mX; - client_rect.bottom = client_rect.top + size.mY; - OSStatus err = SetWindowBounds(mWindow, kWindowContentRgn, &client_rect); - return err == noErr; + OSStatus err = getWindowBounds(mWindow, kWindowContentRgn, &client_rect); + if (err == noErr) + { + client_rect.right = client_rect.left + size.mX; + client_rect.bottom = client_rect.top + size.mY; + err = SetWindowBounds(mWindow, kWindowContentRgn, &client_rect); + } + if (err == noErr) + { + return TRUE; + } + else + { + llinfos << "Error setting size" << err << llendl; + return FALSE; + } } return FALSE; } diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 9aef25491b..bc85acbf45 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -872,6 +872,15 @@ BOOL LLWindowWin32::setSizeImpl(const LLCoordScreen size) return FALSE; } + WINDOWPLACEMENT placement; + placement.length = sizeof(WINDOWPLACEMENT); + + if (!GetWindowPlacement(mWindowHandle, &placement)) return FALSE; + + placement.showCmd = SW_RESTORE; + + if (!SetWindowPlacement(mWindowHandle, &placement)) return FALSE; + moveWindow(position, size); return TRUE; } |