summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-09-04 22:57:01 +0800
committerErik Kundiman <erik@megapahit.org>2026-09-04 22:57:01 +0800
commit87d8ac40c6fe53ed75e48f9d50e0f0cde2627e40 (patch)
treeeb8f1576a32e8fefcce1d8124e57f0cb471a47a0 /indra/newview
parentf7beb28baafa6600c1e8c9b6a08deb3705ba2e78 (diff)
parente47869b667ae34b524f303f7ab2b1c1c5d661278 (diff)
Merge tag 'Second_Life_Release#5ddd940-26.4' into 26.4
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llviewerwindow.cpp21
-rw-r--r--indra/newview/llviewerwindow.h1
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);