From 6be70b2f3c125113f683981e9146399a60da1dc6 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Geenz\" Goodman" Date: Wed, 26 Aug 2026 14:44:40 -0400 Subject: Create secondlife_256.png --- indra/newview/icons/release/secondlife_256.png | Bin 0 -> 7606 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 indra/newview/icons/release/secondlife_256.png diff --git a/indra/newview/icons/release/secondlife_256.png b/indra/newview/icons/release/secondlife_256.png new file mode 100644 index 0000000000..2a1fc7b9f1 Binary files /dev/null and b/indra/newview/icons/release/secondlife_256.png differ -- cgit v1.3 From 6ebc8dc69f6a972d0b83057beaf352d9b6b1a72b Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Thu, 27 Aug 2026 19:33:52 +0300 Subject: #1841 Fix leap command --leap is mapped to --set LeapCommand --- indra/newview/llcommandlineparser.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp index 7e7d528199..7e1f85aff1 100644 --- a/indra/newview/llcommandlineparser.cpp +++ b/indra/newview/llcommandlineparser.cpp @@ -614,7 +614,14 @@ void setControlValueCB(const LLCommandLineParser::token_vector_t& value, else if (ctrl->isType(TYPE_LLSD)) { // Command-line LLSD should support a notation format string - ctrl->setValueFromNotation(onevalue(option, value), false); + // Note that LeapCommand is an TYPE_LLSD, but generaly is not a notation string, + // so keep a fallback to saving value directly. + // To preserve pre-setValueFromNotation, everything has a fallback. + std::string strvalue = onevalue(option, value); + if (!ctrl->setValueFromNotation(strvalue, false)) + { + ctrl->setValue(LLSD::String(strvalue), false); + } } else { -- cgit v1.3 From 3a9706136a16caeeb85d9c76828835f1b266800f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Thu, 27 Aug 2026 21:06:02 +0300 Subject: p#700 handleWindowDidChangeScreen should schedule an update And improved relevant logging. --- indra/newview/llviewerwindow.cpp | 75 ++++++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 32af06cd0d..e3e8cd1fce 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1578,6 +1578,7 @@ void LLViewerWindow::handleResize(LLWindow *window, S32 width, S32 height) { reshape(width, height); mResDirty = true; + LL_DEBUGS("Window") << "handleResize, new width: " << width << " height: " << height << LL_ENDL; } // The top-level window has gained focus (e.g. via ALT-TAB) @@ -1877,6 +1878,10 @@ bool LLViewerWindow::handleWindowDidChangeScreen(LLWindow *window) LLCoordScreen window_rect; mWindow->getSize(&window_rect); reshape(window_rect.mX, window_rect.mY); + // The window may still be transitioning between states, + // schedule an update at checkSettings() + mResDirty = true; + LL_DEBUGS("Window") << "Window did change screen, new size: " << window_rect.mX << "x" << window_rect.mY << LL_ENDL; return true; } @@ -2621,6 +2626,15 @@ void LLViewerWindow::reshape(S32 width, S32 height) mWindowRectRaw.mRight = mWindowRectRaw.mLeft + width; mWindowRectRaw.mTop = mWindowRectRaw.mBottom + height; + LL_DEBUGS("Window") << "reshape called:"; + LLCoordWindow live_size; + mWindow->getSize(&live_size); + LL_CONT << " args=" << width << "x" << height + << " live_getSize=" << live_size.mX << "x" << live_size.mY + << " current_mDisplayScale=" << mDisplayScale + << " systemUISize=" << mWindow->getSystemUISize() + << LL_ENDL; + //glViewport(0, 0, width, height ); LLViewerCamera * camera = LLViewerCamera::getInstance(); // simpleton, might not exist @@ -2954,12 +2968,13 @@ bool LLViewerWindow::handleKeyUp(KEY key, MASK mask) { if (keyboard_focus->handleKeyUp(key, mask, false)) { - LL_DEBUGS() << "LLviewerWindow::handleKeyUp - in 'traverse up' - no loops seen... just called keyboard_focus->handleKeyUp an it returned true" << LL_ENDL; + LL_DEBUGS() << "LLviewerWindow::handleKeyUp - in 'traverse up' - no loops seen... just called keyboard_focus->handleKeyUp and it returned true" << LL_ENDL; LLViewerEventRecorder::instance().logKeyEvent(key, mask); return true; } - else { - LL_DEBUGS() << "LLviewerWindow::handleKeyUp - in 'traverse up' - no loops seen... just called keyboard_focus->handleKeyUp an it returned false" << LL_ENDL; + else + { + LL_DEBUGS() << "LLviewerWindow::handleKeyUp - in 'traverse up' - no loops seen... just called keyboard_focus->handleKeyUp and it returned false" << LL_ENDL; } } @@ -3175,17 +3190,19 @@ bool LLViewerWindow::handleKey(KEY key, MASK mask) if (keyboard_focus->handleKey(key, mask, false)) { - LL_DEBUGS() << "LLviewerWindow::handleKey - in 'traverse up' - no loops seen... just called keyboard_focus->handleKey an it returned true" << LL_ENDL; + LL_DEBUGS("Window") << "LLViewerWindow::handleKey - in 'traverse up' - no loops seen... just called keyboard_focus->handleKey and it returned true" << LL_ENDL; LLViewerEventRecorder::instance().logKeyEvent(key,mask); return true; - } else { - LL_DEBUGS() << "LLviewerWindow::handleKey - in 'traverse up' - no loops seen... just called keyboard_focus->handleKey an it returned false" << LL_ENDL; + } + else + { + LL_DEBUGS("Window") << "LLViewerWindow::handleKey - in 'traverse up' - no loops seen... just called keyboard_focus->handleKey and it returned false" << LL_ENDL; } } if( LLToolMgr::getInstance()->getCurrentTool()->handleKey(key, mask) ) { - LL_DEBUGS() << "LLviewerWindow::handleKey toolbar handling?" << LL_ENDL; + LL_DEBUGS("Window") << "LLViewerWindow::handleKey toolbar handling?" << LL_ENDL; LLViewerEventRecorder::instance().logKeyEvent(key,mask); return true; } @@ -3193,7 +3210,7 @@ bool LLViewerWindow::handleKey(KEY key, MASK mask) // Try for a new-format gesture if (LLGestureMgr::instance().triggerGesture(key, mask)) { - LL_DEBUGS() << "LLviewerWindow::handleKey new gesture feature" << LL_ENDL; + LL_DEBUGS("Window") << "LLViewerWindow::handleKey new gesture feature" << LL_ENDL; LLViewerEventRecorder::instance().logKeyEvent(key,mask); return true; } @@ -3305,7 +3322,7 @@ void LLViewerWindow::handleScrollWheel(S32 clicks) mouse_captor->handleScrollWheel(local_x, local_y, clicks); if (LLView::sDebugMouseHandling) { - LL_INFOS() << "Scroll Wheel handled by captor " << mouse_captor->getName() << LL_ENDL; + LL_INFOS("Window") << "Scroll Wheel handled by captor " << mouse_captor->getName() << LL_ENDL; } return; } @@ -3329,7 +3346,7 @@ void LLViewerWindow::handleScrollWheel(S32 clicks) } else if (LLView::sDebugMouseHandling) { - LL_INFOS() << "Scroll Wheel not handled by view" << LL_ENDL; + LL_INFOS("Window") << "Scroll Wheel not handled by view" << LL_ENDL; } // Zoom the camera in and out behavior @@ -3360,7 +3377,7 @@ void LLViewerWindow::handleScrollHWheel(S32 clicks) mouse_captor->handleScrollHWheel(local_x, local_y, clicks); if (LLView::sDebugMouseHandling) { - LL_INFOS() << "Scroll Horizontal Wheel handled by captor " << mouse_captor->getName() << LL_ENDL; + LL_INFOS("Window") << "Scroll Horizontal Wheel handled by captor " << mouse_captor->getName() << LL_ENDL; } return; } @@ -3384,7 +3401,7 @@ void LLViewerWindow::handleScrollHWheel(S32 clicks) } else if (LLView::sDebugMouseHandling) { - LL_INFOS() << "Scroll Horizontal Wheel not handled by view" << LL_ENDL; + LL_INFOS("Window") << "Scroll Horizontal Wheel not handled by view" << LL_ENDL; } return; @@ -3588,7 +3605,7 @@ void LLViewerWindow::updateUI() } if (child_count_timer.hasExpired()) { - LL_INFOS() << "gMenuHolder child count: " << gMenuHolder->getChildCount() << LL_ENDL; + LL_INFOS("Window") << "gMenuHolder child count: " << gMenuHolder->getChildCount() << LL_ENDL; std::vector local_child_vec; LLView::child_list_t child_list = *gMenuHolder->getChildList(); for (auto child : child_list) @@ -3603,7 +3620,7 @@ void LLViewerWindow::updateUI() std::set_difference(child_vec.begin(), child_vec.end(), local_child_vec.begin(), local_child_vec.end(), std::inserter(out_vec, out_vec.begin())); if (!out_vec.empty()) { - LL_INFOS() << "gMenuHolder removal diff size: '"<getPositionGlobal() - point_global) << LL_ENDL; + LL_INFOS("Window") << "approx intersection at " << (objectp->getPositionGlobal() - point_global) << LL_ENDL; } else { - LL_INFOS() << "good intersection at " << (objectp->getPositionGlobal() - point_global) << LL_ENDL; + LL_INFOS("Window") << "good intersection at " << (objectp->getPositionGlobal() - point_global) << LL_ENDL; } return intersect; @@ -5000,7 +5017,7 @@ void LLViewerWindow::saveImageLocal(LLImageFormatted *image, const snapshot_save while( -1 != err // Search until the file is not found (i.e., stat() gives an error). && is_snapshot_name_loc_set); // Or stop if we are rewriting. - LL_INFOS() << "Saving snapshot to " << filepath << LL_ENDL; + LL_INFOS("Window") << "Saving snapshot to " << filepath << LL_ENDL; if (image->save(filepath)) { playSnapshotAnimAndSound(); @@ -5054,7 +5071,7 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height) bool LLViewerWindow::saveSnapshot(const std::string& filepath, S32 image_width, S32 image_height, bool show_ui, bool show_hud, bool do_rebuild, bool show_balance, LLSnapshotModel::ESnapshotLayerType type, LLSnapshotModel::ESnapshotFormat format) { - LL_INFOS() << "Saving snapshot to: " << filepath << LL_ENDL; + LL_INFOS("Window") << "Saving snapshot to: " << filepath << LL_ENDL; LLPointer raw = new LLImageRaw; bool success = rawSnapshot(raw, image_width, image_height, true, false, show_ui, show_hud, do_rebuild, show_balance); @@ -5934,7 +5951,7 @@ void LLViewerWindow::stopGL() //especially be careful to put anything behind gTextureList.destroyGL(save_state); if (!gGLManager.mIsDisabled) { - LL_INFOS() << "Shutting down GL..." << LL_ENDL; + LL_INFOS("Window") << "Shutting down GL..." << LL_ENDL; // Pause texture decode threads (will get unpaused during main loop) LLAppViewer::getTextureCache()->pause(); @@ -5998,7 +6015,7 @@ void LLViewerWindow::restoreGL(const std::string& progress_message) //especially, be careful to put something before gTextureList.restoreGL(); if (gGLManager.mIsDisabled) { - LL_INFOS() << "Restoring GL..." << LL_ENDL; + LL_INFOS("Window") << "Restoring GL..." << LL_ENDL; gGLManager.mIsDisabled = false; initGLDefaults(); @@ -6032,7 +6049,7 @@ void LLViewerWindow::restoreGL(const std::string& progress_message) setShowProgress(true); setProgressString(progress_message); } - LL_INFOS() << "...Restoring GL done" << LL_ENDL; + LL_INFOS("Window") << "...Restoring GL done" << LL_ENDL; if(!LLAppViewer::instance()->restoreErrorTrap()) { LL_WARNS() << " Someone took over my signal/exception handler (post restoreGL)!" << LL_ENDL; @@ -6100,7 +6117,19 @@ void LLViewerWindow::calcDisplayScale() if (display_scale != mDisplayScale) { - LL_INFOS() << "Setting display scale to " << display_scale << " for ui scale: " << ui_scale_factor << LL_ENDL; + LL_INFOS("Window") << "Setting display scale to " << display_scale << " for ui scale: " << ui_scale_factor << LL_ENDL; + + LL_DEBUGS("Window") << "calcDisplayScale changing:"; + + LLCoordWindow win_size; + mWindow->getSize(&win_size); + LL_CONT << " old=" << mDisplayScale + << " new=" << display_scale + << " UIScaleFactor=" << gSavedSettings.getF32("UIScaleFactor") + << " systemUISize=" << mWindow->getSystemUISize() + << " windowSize=" << win_size.mX << "x" << win_size.mY + << " mWindowRectRaw=" << mWindowRectRaw.getWidth() << "x" << mWindowRectRaw.getHeight() + << LL_ENDL; mDisplayScale = display_scale; // Init default fonts -- cgit v1.3