diff options
author | Rider Linden <rider@lindenlab.com> | 2024-10-25 15:52:10 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2025-02-26 16:26:26 -0800 |
commit | 48ccb0f75b078670ced1f8fe8d4942abe0a6f293 (patch) | |
tree | fc532b478d971df2d439d14833b43025380e3e4d /indra/newview/llimview.cpp | |
parent | a097f887282f6ddb20ed8a7d50f506554216a0a2 (diff) |
Issue #2907: When passing the injected notification message into addMessage on behalf of the system, optionally specify the agent id and name that should be used.
(cherry picked from commit 7ff297ec3fc5f878cc9a916678987c0033b7eb8a)
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r-- | indra/newview/llimview.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 7a2f1486ae..21c255f226 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -3142,9 +3142,16 @@ void LLIMMgr::addMessage( const LLUUID& region_id, const LLVector3& position, bool is_region_msg, - U32 timestamp) // May be zero + U32 timestamp, // May be zero + LLUUID display_id, + std::string_view display_name) { LLUUID other_participant_id = target_id; + std::string message_display_name = (display_name.empty()) ? from : std::string(display_name); + if (display_id.isNull() && (display_name.empty())) + { + display_id = other_participant_id; + } LLUUID new_session_id = session_id; if (new_session_id.isNull()) @@ -3240,7 +3247,7 @@ void LLIMMgr::addMessage( } //Play sound for new conversations - if (!skip_message & !gAgent.isDoNotDisturb() && (gSavedSettings.getBOOL("PlaySoundNewConversation"))) + if (!skip_message && !gAgent.isDoNotDisturb() && (gSavedSettings.getBOOL("PlaySoundNewConversation"))) { make_ui_sound("UISndNewIncomingIMSession"); } @@ -3254,7 +3261,7 @@ void LLIMMgr::addMessage( if (!LLMuteList::getInstance()->isMuted(other_participant_id, LLMute::flagTextChat) && !skip_message) { - LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg, true, is_region_msg, timestamp); + LLIMModel::instance().addMessage(new_session_id, message_display_name, display_id, msg, true, is_region_msg, timestamp); } // Open conversation floater if offline messages are present |