From da395c715ca7f06af015091e36b28c85cbbef742 Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Sun, 27 Jul 2025 04:17:13 +1000 Subject: [PATCH 01/31] Implemented seperate Conversations opacity options --- indra/llui/lluictrl.cpp | 8 ++++++ indra/llui/lluictrl.h | 5 ++++ indra/newview/app_settings/settings.xml | 22 +++++++++++++++ indra/newview/fsfloaterim.cpp | 12 ++++++++ indra/newview/fsfloaterim.h | 2 ++ indra/newview/fsfloaterimcontainer.cpp | 16 +++++++++++ indra/newview/fsfloaterimcontainer.h | 2 ++ indra/newview/fsfloaternearbychat.cpp | 3 ++ .../xui/en/panel_preferences_colors.xml | 28 +++++++++++++++++++ 9 files changed, 98 insertions(+) diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index e23acd85b9..3dfbc508df 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -1086,6 +1086,14 @@ F32 LLUICtrl::getCurrentTransparency() } + // [FIRE-35804] Allow the IM floater to have separate transparency + // This is specifically for making the text editors such as chat_editor always active opacity when the IM floater is focused + if (mGetIMOpacityCallback && mTransparencyType != TT_ACTIVE) + { + return llmin(mGetIMOpacityCallback(), alpha); + } + // + return alpha; } diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 4be0a23261..eeb9296305 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -238,6 +238,11 @@ public: void setTransparencyType(ETypeTransparency type); ETypeTransparency getTransparencyType() const {return mTransparencyType;} + // [FIRE-35804] Allow the IM floater to have separate transparency + boost::function mGetIMOpacityCallback; + void setGetIMOpacityCallback (boost::function cb) { mGetIMOpacityCallback = cb; } + // + bool focusNextItem(bool text_entry_only); bool focusPrevItem(bool text_entry_only); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7531ea03c2..1316cf7853 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26773,5 +26773,27 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 + FSIMOpacity + + Comment + Opacity of the IM floater + Persist + 1 + Type + F32 + Value + 1.0 + + FSImActiveOpacityOverride + + Comment + When enabled, uses the Active Opacity value when IM window is focused + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index ef83dd0f4f..cf3e58edea 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -1010,6 +1010,9 @@ bool FSFloaterIM::postBuild() mInputEditor->setFont(LLViewerChat::getChatFont()); mInputEditor->enableSingleLineMode(gSavedSettings.getBOOL("FSUseSingleLineChatEntry")); mInputEditor->setCommitCallback(boost::bind(&FSFloaterIM::sendMsgFromInputEditor, this, CHAT_TYPE_NORMAL)); + // [FIRE-35804] Allow the IM floater to have separate transparency + mInputEditor->setGetIMOpacityCallback(boost::bind(&FSFloaterIM::onGetIMOpacityCallback)); + // mEmojiRecentPanelToggleBtn = getChild("emoji_recent_panel_toggle_btn"); mEmojiRecentPanelToggleBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiRecentPanelToggleBtnClicked(); }); @@ -2650,3 +2653,12 @@ uuid_vec_t FSFloaterIM::getSessionParticipants() const return mControlPanel->getParticipants(); } + +// [FIRE-35804] Allow the IM floater to have separate transparency +// static +F32 FSFloaterIM::onGetIMOpacityCallback() +{ + static LLCachedControl im_opacity(gSavedSettings, "FSIMOpacity", 1.0f); + return im_opacity; +} +// diff --git a/indra/newview/fsfloaterim.h b/indra/newview/fsfloaterim.h index 0b5d65bf7e..3ed36de1db 100644 --- a/indra/newview/fsfloaterim.h +++ b/indra/newview/fsfloaterim.h @@ -164,6 +164,8 @@ public: uuid_vec_t getSessionParticipants() const; + static F32 onGetIMOpacityCallback(); // [FIRE-35804] Allow the IM floater to have separate transparency + protected: /* virtual */ void onClickCloseBtn(bool app_quitting = false); diff --git a/indra/newview/fsfloaterimcontainer.cpp b/indra/newview/fsfloaterimcontainer.cpp index a4db0dc21a..19c4bd8f8a 100644 --- a/indra/newview/fsfloaterimcontainer.cpp +++ b/indra/newview/fsfloaterimcontainer.cpp @@ -373,6 +373,22 @@ FSFloaterIMContainer* FSFloaterIMContainer::getInstance() return LLFloaterReg::getTypedInstance("fs_im_container"); } +// [FIRE-35804] Allow the IM floater to have separate transparency +F32 FSFloaterIMContainer::getCurrentTransparency() +{ + static LLCachedControl im_opacity(gSavedSettings, "FSIMOpacity", 1.0f); + static LLCachedControl im_active_opacity_override(gSavedSettings, "FSImActiveOpacityOverride", false); + + F32 floater_opacity = LLUICtrl::getCurrentTransparency(); + if (im_active_opacity_override && getTransparencyType() == TT_ACTIVE) + { + return floater_opacity; + } + + return llmin(im_opacity(), floater_opacity); +} +// + void FSFloaterIMContainer::setVisible(bool b) { LLMultiFloater::setVisible(b); diff --git a/indra/newview/fsfloaterimcontainer.h b/indra/newview/fsfloaterimcontainer.h index 50b9b36d1f..198b32be6d 100644 --- a/indra/newview/fsfloaterimcontainer.h +++ b/indra/newview/fsfloaterimcontainer.h @@ -60,6 +60,8 @@ public: static FSFloaterIMContainer* findInstance(); static FSFloaterIMContainer* getInstance(); + F32 getCurrentTransparency() override; // [FIRE-35804] Allow the IM floater to have separate transparency + virtual void setVisible(bool b); /*virtual*/ void setMinimized(bool b); diff --git a/indra/newview/fsfloaternearbychat.cpp b/indra/newview/fsfloaternearbychat.cpp index 80e58347e8..ddea2b28ac 100644 --- a/indra/newview/fsfloaternearbychat.cpp +++ b/indra/newview/fsfloaternearbychat.cpp @@ -148,6 +148,9 @@ bool FSFloaterNearbyChat::postBuild() mInputEditor->setFont(LLViewerChat::getChatFont()); mInputEditor->setLabel(getString("chatbox_label")); mInputEditor->enableSingleLineMode(gSavedSettings.getBOOL("FSUseSingleLineChatEntry")); + // [FIRE-35804] Allow the IM floater to have separate transparency + mInputEditor->setGetIMOpacityCallback(boost::bind(&FSFloaterIM::onGetIMOpacityCallback)); + // mChatLayoutPanel = getChild("chat_layout_panel"); mInputPanels = getChild("input_panels"); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml index 8df8102615..5cfae471f2 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml @@ -1857,6 +1857,34 @@ show_text="true" top_pad="2" width="415" /> + + Date: Sun, 27 Jul 2025 13:13:19 +1000 Subject: [PATCH 02/31] Fixed settings error for FSImActiveOpacityOverride --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1316cf7853..1a31effea3 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26793,7 +26793,7 @@ Change of this parameter will affect the layout of buttons in notification toast Type Boolean Value - 0 + 0 From b4a7ef835c7355e4bb4427a7c2bc118a011df3d7 Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Mon, 28 Jul 2025 02:27:53 +1000 Subject: [PATCH 03/31] Refactored Conversations opacity override and made the callback to override transparency generic --- indra/llui/lluictrl.cpp | 7 +++---- indra/llui/lluictrl.h | 6 +++--- indra/newview/fsfloaterim.cpp | 14 ++++++++++---- indra/newview/fsfloaterim.h | 4 +++- indra/newview/fsfloaternearbychat.cpp | 17 ++++++++++++++++- indra/newview/fsfloaternearbychat.h | 4 ++++ 6 files changed, 39 insertions(+), 13 deletions(-) diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index 3dfbc508df..5f77c3346f 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -1086,11 +1086,10 @@ F32 LLUICtrl::getCurrentTransparency() } - // [FIRE-35804] Allow the IM floater to have separate transparency - // This is specifically for making the text editors such as chat_editor always active opacity when the IM floater is focused - if (mGetIMOpacityCallback && mTransparencyType != TT_ACTIVE) + // Allow any UICtrl to override the transparency with a callback + if (mTransparencyOverrideCallback) { - return llmin(mGetIMOpacityCallback(), alpha); + return mTransparencyOverrideCallback(mTransparencyType, alpha); } // diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index eeb9296305..0536e9b7ae 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -238,9 +238,9 @@ public: void setTransparencyType(ETypeTransparency type); ETypeTransparency getTransparencyType() const {return mTransparencyType;} - // [FIRE-35804] Allow the IM floater to have separate transparency - boost::function mGetIMOpacityCallback; - void setGetIMOpacityCallback (boost::function cb) { mGetIMOpacityCallback = cb; } + // Allow any UICtrl to override the transparency with a callback + boost::function mTransparencyOverrideCallback; + void setTransparencyOverrideCallback (boost::function cb) { mTransparencyOverrideCallback = cb; } // bool focusNextItem(bool text_entry_only); diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index cf3e58edea..2521526440 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -1011,7 +1011,7 @@ bool FSFloaterIM::postBuild() mInputEditor->enableSingleLineMode(gSavedSettings.getBOOL("FSUseSingleLineChatEntry")); mInputEditor->setCommitCallback(boost::bind(&FSFloaterIM::sendMsgFromInputEditor, this, CHAT_TYPE_NORMAL)); // [FIRE-35804] Allow the IM floater to have separate transparency - mInputEditor->setGetIMOpacityCallback(boost::bind(&FSFloaterIM::onGetIMOpacityCallback)); + mInputEditor->setTransparencyOverrideCallback(boost::bind(&FSFloaterIM::onGetChatEditorOpacityCallback, this, _1, _2)); // mEmojiRecentPanelToggleBtn = getChild("emoji_recent_panel_toggle_btn"); @@ -2655,10 +2655,16 @@ uuid_vec_t FSFloaterIM::getSessionParticipants() const } // [FIRE-35804] Allow the IM floater to have separate transparency -// static -F32 FSFloaterIM::onGetIMOpacityCallback() +// This is specifically for making the text editors such as chat_editor always active opacity when the IM floater is focused +// Otherwise if they aren't active, it will use either the IM opacity, or inactive opacity, whatever is smaller +F32 FSFloaterIM::onGetChatEditorOpacityCallback(ETypeTransparency type, F32 alpha) { static LLCachedControl im_opacity(gSavedSettings, "FSIMOpacity", 1.0f); - return im_opacity; + if (type != TT_ACTIVE) + { + return llmin(im_opacity, alpha); + } + + return alpha; } // diff --git a/indra/newview/fsfloaterim.h b/indra/newview/fsfloaterim.h index 3ed36de1db..3d20957063 100644 --- a/indra/newview/fsfloaterim.h +++ b/indra/newview/fsfloaterim.h @@ -164,7 +164,9 @@ public: uuid_vec_t getSessionParticipants() const; - static F32 onGetIMOpacityCallback(); // [FIRE-35804] Allow the IM floater to have separate transparency + // [FIRE-35804] Allow the IM floater to have separate transparency + F32 onGetChatEditorOpacityCallback(ETypeTransparency type, F32 alpha); + // protected: /* virtual */ diff --git a/indra/newview/fsfloaternearbychat.cpp b/indra/newview/fsfloaternearbychat.cpp index ddea2b28ac..51e1d31fad 100644 --- a/indra/newview/fsfloaternearbychat.cpp +++ b/indra/newview/fsfloaternearbychat.cpp @@ -149,7 +149,7 @@ bool FSFloaterNearbyChat::postBuild() mInputEditor->setLabel(getString("chatbox_label")); mInputEditor->enableSingleLineMode(gSavedSettings.getBOOL("FSUseSingleLineChatEntry")); // [FIRE-35804] Allow the IM floater to have separate transparency - mInputEditor->setGetIMOpacityCallback(boost::bind(&FSFloaterIM::onGetIMOpacityCallback)); + mInputEditor->setTransparencyOverrideCallback(boost::bind(&FSFloaterNearbyChat::onGetChatBoxOpacityCallback, this, _1, _2)); // mChatLayoutPanel = getChild("chat_layout_panel"); @@ -1110,3 +1110,18 @@ uuid_vec_t FSFloaterNearbyChat::getSessionParticipants() const return avatarIds; } + +// [FIRE-35804] Allow the IM floater to have separate transparency +// This is specifically for making the text editors such as chat_editor always active opacity when the IM floater is focused +// Otherwise if they aren't active, it will use either the IM opacity, or inactive opacity, whatever is smaller +F32 FSFloaterNearbyChat::onGetChatBoxOpacityCallback(ETypeTransparency type, F32 alpha) +{ + static LLCachedControl im_opacity(gSavedSettings, "FSIMOpacity", 1.0f); + if (type != TT_ACTIVE) + { + return llmin(im_opacity, alpha); + } + + return alpha; +} +// diff --git a/indra/newview/fsfloaternearbychat.h b/indra/newview/fsfloaternearbychat.h index 37641a4be3..ee485e5498 100644 --- a/indra/newview/fsfloaternearbychat.h +++ b/indra/newview/fsfloaternearbychat.h @@ -104,6 +104,10 @@ public: uuid_vec_t getSessionParticipants() const; + // [FIRE-35804] Allow the IM floater to have separate transparency + F32 onGetChatBoxOpacityCallback(ETypeTransparency type, F32 alpha); + // + protected: void onChatBoxKeystroke(); void onChatBoxFocusLost(); From 882fc91b0c8ba9f8c1d1fbc2727b27b9f572ee61 Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Tue, 26 Aug 2025 21:55:37 +1000 Subject: [PATCH 04/31] Added missing opacity overrides for filter editors in the conversations floater --- indra/llui/llfiltereditor.cpp | 8 ++++++++ indra/llui/llfiltereditor.h | 4 ++++ indra/llui/lluictrl.h | 2 +- indra/newview/fsfloatercontacts.cpp | 21 +++++++++++++++++++++ indra/newview/fsfloatercontacts.h | 4 ++++ 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/indra/llui/llfiltereditor.cpp b/indra/llui/llfiltereditor.cpp index f7b3a1e9a6..1ce8a6d9d0 100644 --- a/indra/llui/llfiltereditor.cpp +++ b/indra/llui/llfiltereditor.cpp @@ -44,3 +44,11 @@ void LLFilterEditor::handleKeystroke() // Commit on every keystroke. onCommit(); } + +// Allow any UICtrl to override the transparency with a callback +void LLFilterEditor::setTransparencyOverrideCallback(boost::function cb) +{ + // Simply setting it on the LLFilterEditor object doesn't work + mSearchEditor->setTransparencyOverrideCallback(cb); +} +// diff --git a/indra/llui/llfiltereditor.h b/indra/llui/llfiltereditor.h index 685219c9f6..76a633eb45 100644 --- a/indra/llui/llfiltereditor.h +++ b/indra/llui/llfiltereditor.h @@ -45,6 +45,10 @@ public: {}; virtual ~LLFilterEditor() {} + // Allow any UICtrl to override the transparency with a callback + void setTransparencyOverrideCallback(boost::function cb) override; + // + protected: LLFilterEditor(const Params&); friend class LLUICtrlFactory; diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 0536e9b7ae..13ab720ef4 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -240,7 +240,7 @@ public: // Allow any UICtrl to override the transparency with a callback boost::function mTransparencyOverrideCallback; - void setTransparencyOverrideCallback (boost::function cb) { mTransparencyOverrideCallback = cb; } + virtual void setTransparencyOverrideCallback(boost::function cb) { mTransparencyOverrideCallback = cb; } // bool focusNextItem(bool text_entry_only); diff --git a/indra/newview/fsfloatercontacts.cpp b/indra/newview/fsfloatercontacts.cpp index e3f08b2ac3..03c3cd8e95 100644 --- a/indra/newview/fsfloatercontacts.cpp +++ b/indra/newview/fsfloatercontacts.cpp @@ -131,6 +131,9 @@ bool FSFloaterContacts::postBuild() mFriendsCountTb->setTextArg("COUNT", llformat("%d", mFriendsList->getItemCount())); mFriendFilter = mFriendsTab->getChild("friend_filter_input"); mFriendFilter->setCommitCallback(boost::bind(&FSFloaterContacts::onFriendFilterEdit, this, _2)); + // [FIRE-35804] Allow the IM floater to have separate transparency + mFriendFilter->setTransparencyOverrideCallback(boost::bind(&FSFloaterContacts::onGetFilterOpacityCallback, this, _1, _2)); + // mGroupsTab = getChild(GROUP_TAB_NAME); mGroupList = mGroupsTab->getChild("group_list"); @@ -163,6 +166,9 @@ bool FSFloaterContacts::postBuild() mGroupssCountTb = mGroupsTab->getChild("groupcount"); mGroupFilter = mGroupsTab->getChild("group_filter_input"); mGroupFilter->setCommitCallback(boost::bind(&FSFloaterContacts::onGroupFilterEdit, this, _2)); + // [FIRE-35804] Allow the IM floater to have separate transparency + mGroupFilter->setTransparencyOverrideCallback(boost::bind(&FSFloaterContacts::onGetFilterOpacityCallback, this, _1, _2)); + // mRlvBehaviorCallbackConnection = gRlvHandler.setBehaviourCallback(boost::bind(&FSFloaterContacts::updateRlvRestrictions, this, _1)); @@ -1345,4 +1351,19 @@ void FSFloaterContacts::onGroupFilterEdit(const std::string& search_string) { mGroupList->setNameFilter(search_string); } + +// [FIRE-35804] Allow the IM floater to have separate transparency +// This is specifically for making the filter editors such as mFriendFilter and mGroupFilter always active opacity when the IM floater is focused +// Otherwise if they aren't active, it will use either the IM opacity, or inactive opacity, whatever is smaller +F32 FSFloaterContacts::onGetFilterOpacityCallback(ETypeTransparency type, F32 alpha) +{ + static LLCachedControl im_opacity(gSavedSettings, "FSIMOpacity", 1.0f); + if (type != TT_ACTIVE) + { + return llmin(im_opacity, alpha); + } + + return alpha; +} +// // EOF diff --git a/indra/newview/fsfloatercontacts.h b/indra/newview/fsfloatercontacts.h index 660ed8905b..5c3061eff3 100644 --- a/indra/newview/fsfloatercontacts.h +++ b/indra/newview/fsfloatercontacts.h @@ -70,6 +70,10 @@ public: void onDisplayNameChanged(); void resetFriendFilter(); + // [FIRE-35804] Allow the IM floater to have separate transparency + F32 onGetFilterOpacityCallback(ETypeTransparency type, F32 alpha); + // + private: typedef std::vector listitem_vec_t; From 180ebf3a32e3fff6e1e29241be6b488faa5da756 Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Wed, 27 Aug 2025 20:32:24 +1000 Subject: [PATCH 05/31] Use PST/PDT when logged into OpenSim instead of SLT --- indra/llcommon/llstring.cpp | 14 ++++++++++++-- indra/llcommon/llstring.h | 7 +++++++ indra/newview/llstartup.cpp | 3 +++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index bcd5e30b1e..efc9cb6180 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -1070,6 +1070,7 @@ std::optional llstring_getoptenv(const std::string& key) long LLStringOps::sPacificTimeOffset = 0; long LLStringOps::sLocalTimeOffset = 0; bool LLStringOps::sPacificDaylightTime = 0; +bool LLStringOps::sUsingPacificTime = false; // [FIRE-34775] Use PST/PDT when logged into OpenSim std::map LLStringOps::datetimeToCodes; std::vector LLStringOps::sWeekDayList; @@ -1628,12 +1629,21 @@ bool LLStringUtil::formatDatetime(std::string& replacement, std::string token, } else { -#if 0 +// [FIRE-34775] Use PST/PDT when logged into OpenSim +#ifdef OPENSIM // EXT-1565 : Zai Lynch, James Linden : 15/Oct/09 // [BSI] Feedback: Viewer clock mentions SLT, but would prefer it to show PST/PDT // "slt" = Second Life Time, which is deprecated. // If not utc or user local time, fallback to Pacific time - replacement = LLStringOps::getPacificDaylightTime() ? "PDT" : "PST"; + if (LLStringOps::getUsingPacificTime()) + { + replacement = LLStringOps::getPacificDaylightTime() ? "PDT" : "PST"; + } + else + { + replacement = "SLT"; + } +// #else // SL-20370 : Steeltoe Linden : 29/Sep/23 // Change "PDT" to "SLT" on menu bar diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index 07615aa027..9375534f3c 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -153,6 +153,7 @@ private: static long sPacificTimeOffset; static long sLocalTimeOffset; static bool sPacificDaylightTime; + static bool sUsingPacificTime; // [FIRE-34775] Use PST/PDT when logged into OpenSim static std::map datetimeToCodes; @@ -204,6 +205,9 @@ public: static S32 collate(const llwchar* a, const llwchar* b); static void setupDatetimeInfo(bool pacific_daylight_time); + // [FIRE-34775] Use PST/PDT when logged into OpenSim + static void setupUsingPacificTime(bool use_pacific_time) { sUsingPacificTime = use_pacific_time; } + // static void setupWeekDaysNames(const std::string& data); static void setupWeekDaysShortNames(const std::string& data); @@ -217,6 +221,9 @@ public: // Is the Pacific time zone (aka server time zone) // currently in daylight savings time? static bool getPacificDaylightTime(void) { return sPacificDaylightTime;} + // [FIRE-34775] Use PST/PDT when logged into OpenSim + static bool getUsingPacificTime() { return sUsingPacificTime; } + // static std::string getDatetimeCode (std::string key); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 3acea002ad..06ba5e7fd7 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -4871,6 +4871,9 @@ bool process_login_success_response(U32 &first_sim_size_x, U32 &first_sim_size_y //setup map of datetime strings to codes and slt & local time offset from utc LLStringOps::setupDatetimeInfo(pacific_daylight_time); + // [FIRE-34775] Use PST/PDT when logged into OpenSim + LLStringOps::setupUsingPacificTime(LLGridManager::getInstance()->isInOpenSim()); + // } // set up the voice configuration. Ultimately, we should pass this up as part of each voice From 17f0ef8f997055affa45459a6ad0f4acc62f4379 Mon Sep 17 00:00:00 2001 From: chanayane Date: Wed, 3 Sep 2025 23:25:36 +0200 Subject: [PATCH 06/31] fix for macOS build --- indra/llui/llfolderviewmodel.h | 2 +- indra/newview/llwearableitemslist.cpp | 4 ++-- indra/newview/llwearableitemslist.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h index c971c70314..812063feda 100644 --- a/indra/llui/llfolderviewmodel.h +++ b/indra/llui/llfolderviewmodel.h @@ -378,7 +378,7 @@ protected: virtual bool hasParent() override { return mParent != NULL; } // - virtual LLFolderViewModelItem* getParent() const { return mParent; } + virtual LLFolderViewModelItem* getParent() const override { return mParent; } S32 mSortVersion; bool mPassedFilter; diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index ec4beff41f..b5f1622d7a 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -575,9 +575,9 @@ void FSPanelCOFWearableOutfitListItem::updateItemWeight(U32 item_weight) } //virtual -void FSPanelCOFWearableOutfitListItem::updateItem(const std::string& name, EItemState item_state) +void FSPanelCOFWearableOutfitListItem::updateItem(const std::string& name, bool favorite, EItemState item_state) { - LLPanelWearableOutfitItem::updateItem(name, item_state); + LLPanelWearableOutfitItem::updateItem(name, favorite, item_state); mWeightCtrl->setVisible(true); reshapeWidgets(); } diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h index 57cb51e01f..263a04c86c 100644 --- a/indra/newview/llwearableitemslist.h +++ b/indra/newview/llwearableitemslist.h @@ -256,7 +256,7 @@ public: void updateItemWeight(U32 item_weight); - /*virtual*/ void updateItem(const std::string& name, EItemState item_state = IS_DEFAULT); + /*virtual*/ void updateItem(const std::string& name, bool favorite, EItemState item_state = IS_DEFAULT); /*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask); From d19c44310098865e3d7915b025511b34c1374822 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 3 Sep 2025 22:29:35 +0300 Subject: [PATCH 07/31] #4623 Shared Media on HUDs not loading Looks like a merge between a commit that affected mScreenPixelArea and a commit that added a return value resulted in reordered calls. --- indra/newview/llviewercamera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp index 963de67bdf..a86309754b 100644 --- a/indra/newview/llviewercamera.cpp +++ b/indra/newview/llviewercamera.cpp @@ -160,9 +160,9 @@ bool LLViewerCamera::updateCameraLocation(const LLVector3 ¢er, const LLVecto // update pixel meter ratio using default fov, not modified one mPixelMeterRatio = (F32)(getViewHeightInPixels()/ (2.f*tanf(mCameraFOVDefault*0.5f))); // update screen pixel area + mScreenPixelArea =(S32)((F32)getViewHeightInPixels() * ((F32)getViewHeightInPixels() * getAspect())); return true; - mScreenPixelArea =(S32)((F32)getViewHeightInPixels() * ((F32)getViewHeightInPixels() * getAspect())); } const LLMatrix4 &LLViewerCamera::getProjection() const From e88b9389edb46ddd4414d970ef92111c761057c5 Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Thu, 4 Sep 2025 11:59:25 +0200 Subject: [PATCH 08/31] Updated Polish translation --- indra/newview/skins/default/xui/pl/floater_fs_poser.xml | 2 +- indra/newview/skins/default/xui/pl/floater_object_weights.xml | 2 +- indra/newview/skins/default/xui/pl/panel_preferences_colors.xml | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/pl/floater_fs_poser.xml b/indra/newview/skins/default/xui/pl/floater_fs_poser.xml index 062f8a42cc..218afcc974 100644 --- a/indra/newview/skins/default/xui/pl/floater_fs_poser.xml +++ b/indra/newview/skins/default/xui/pl/floater_fs_poser.xml @@ -250,7 +250,7 @@ - +