summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llwindow/llwindowwin32.cpp9
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llviewerwindow.cpp10
3 files changed, 14 insertions, 9 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 3a3e4a90dd..bcf0857258 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -891,7 +891,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
S32 height = size.mY;
BOOL auto_show = FALSE;
- if (mhRC)
+ if (mhRC)
{
auto_show = TRUE;
resetDisplayResolution();
@@ -985,6 +985,10 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
window_rect.bottom = (long) height;
dw_ex_style = WS_EX_APPWINDOW;
dw_style = WS_POPUP;
+
+ // Move window borders out not to cover window contents.
+ // This converts client rect to window rect, i.e. expands it by the window border size.
+ AdjustWindowRectEx(&window_rect, dw_style, FALSE, dw_ex_style);
}
// If it failed, we don't want to run fullscreen
else
@@ -1011,9 +1015,6 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
dw_style = WS_OVERLAPPEDWINDOW;
}
- // Move window borders out not to cover window contents.
- // This converts client rect to window rect, i.e. expands it by the window border size.
- AdjustWindowRectEx(&window_rect, dw_style, FALSE, dw_ex_style);
// don't post quit messages when destroying old windows
mPostQuit = FALSE;
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index caeaf71484..b7e2f636d4 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -12777,7 +12777,7 @@
<key>WindowX</key>
<map>
<key>Comment</key>
- <string>X coordinate of lower left corner of SL viewer window, relative to primary display (pixels)</string>
+ <string>X coordinate of upper left corner of SL viewer window, relative to upper left corner of primary display (pixels)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -12788,7 +12788,7 @@
<key>WindowY</key>
<map>
<key>Comment</key>
- <string>Y coordinate of lower left corner of SL viewer window, relative to primary display (pixels)</string>
+ <string>Y coordinate of upper left corner of SL viewer window, relative to upper left corner of primary display (pixels)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index f5a226b781..ab20ff1d42 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2159,9 +2159,13 @@ void LLViewerWindow::reshape(S32 width, S32 height)
// tell the OS specific window code about min window size
mWindow->setMinSize(min_window_width, min_window_height);
- // Only save size if not maximized
- gSavedSettings.setU32("WindowWidth", mWindowRectRaw.getWidth());
- gSavedSettings.setU32("WindowHeight", mWindowRectRaw.getHeight());
+ LLCoordScreen window_rect;
+ if (mWindow->getSize(&window_rect))
+ {
+ // Only save size if not maximized
+ gSavedSettings.setU32("WindowWidth", window_rect.mX);
+ gSavedSettings.setU32("WindowHeight", window_rect.mY);
+ }
}
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_WINDOW_WIDTH, (F64)width);