diff options
| author | Erik Kundiman <erik@megapahit.org> | 2026-09-04 22:57:01 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-09-04 22:57:01 +0800 |
| commit | 87d8ac40c6fe53ed75e48f9d50e0f0cde2627e40 (patch) | |
| tree | eb8f1576a32e8fefcce1d8124e57f0cb471a47a0 /indra/newview | |
| parent | f7beb28baafa6600c1e8c9b6a08deb3705ba2e78 (diff) | |
| parent | e47869b667ae34b524f303f7ab2b1c1c5d661278 (diff) | |
Merge tag 'Second_Life_Release#5ddd940-26.4' into 26.4
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.h | 1 |
2 files changed, 20 insertions, 2 deletions
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index be8fcefb53..0ae7d3fa0c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1581,6 +1581,12 @@ void LLViewerWindow::handleResize(LLWindow *window, S32 width, S32 height) LL_DEBUGS("Window") << "handleResize, new width: " << width << " height: " << height << LL_ENDL; } +void LLViewerWindow::handleRequestResolutionUpdate(LLWindow* window) +{ + requestResolutionUpdate(); + LL_DEBUGS("Window") << "handleRequestResolutionUpdate: mResDirty set" << LL_ENDL; +} + // The top-level window has gained focus (e.g. via ALT-TAB) void LLViewerWindow::handleFocus(LLWindow *window) { @@ -2043,7 +2049,7 @@ LLViewerWindow::LLViewerWindow(const Params& p) } else { - LL_DEBUGS("Window") << "Display init diagnostics:" + LL_DEBUGS("Window") << "Display init:" << " screen_size=" << scr.mX << "x" << scr.mY << " system_ui_size=" << mWindow->getSystemUISize() << " pixel_aspect_ratio=" << mWindow->getPixelAspectRatio() @@ -6106,7 +6112,18 @@ void LLViewerWindow::checkSettings() mWindowRectRaw.set(0, size.mY, size.mX, 0); mWindowRectScaled.set(0, ll_round((F32)size.mY / mDisplayScale.mV[VY]), ll_round((F32)size.mX / mDisplayScale.mV[VX]), 0); - reshape(getWindowWidthRaw(), getWindowHeightRaw()); + LLCoordScreen window_size; + if (mWindow->getSize(&window_size)) + { + reshape(window_size.mX, window_size.mY); + } + else + { + S32 width = getWindowWidthRaw(); + S32 height = getWindowHeightRaw(); + LL_WARNS() << "Failed to get window size, using raw window size " << width << "x" << height << " instead" << LL_ENDL; + reshape(width, height); + } mResDirty = false; } } diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 06d49df56d..e09e8fee14 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -221,6 +221,7 @@ public: void handleMouseDragged(LLWindow *window, LLCoordGL pos, MASK mask); /*virtual*/ void handleMouseLeave(LLWindow *window); /*virtual*/ void handleResize(LLWindow *window, S32 x, S32 y); + /*virtual*/ void handleRequestResolutionUpdate(LLWindow* window); /*virtual*/ void handleFocus(LLWindow *window); /*virtual*/ void handleFocusLost(LLWindow *window); /*virtual*/ bool handleActivate(LLWindow *window, bool activated); |
