diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2023-03-31 11:39:06 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2023-03-31 11:39:06 -0400 |
commit | 1be9d68468e51be7de5b632f0276dc6708e75dc6 (patch) | |
tree | ba80104fa9531a51291d2ad067b23fa75cb58fc9 /indra/newview/llimprocessing.cpp | |
parent | 0dd7b362a6e77d8f3dff450376ddf2d4ffaf752c (diff) | |
parent | c7053a6928fd5eafdc935453742e92951ae4e0c1 (diff) |
DRTVWR-573: Merge branch 'main' into fix-monterey
Diffstat (limited to 'indra/newview/llimprocessing.cpp')
-rw-r--r-- | indra/newview/llimprocessing.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp index 0524313a5c..3536b83989 100644 --- a/indra/newview/llimprocessing.cpp +++ b/indra/newview/llimprocessing.cpp @@ -55,6 +55,7 @@ #include "llviewerwindow.h" #include "llviewerregion.h" #include "llvoavatarself.h" +#include "llworld.h" #include "boost/lexical_cast.hpp" #if LL_MSVC @@ -452,7 +453,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, BOOL is_friend = (LLAvatarTracker::instance().getBuddyInfo(from_id) == NULL) ? false : true; BOOL accept_im_from_only_friend = gSavedPerAccountSettings.getBOOL("VoiceCallsFriendsOnly"); BOOL is_linden = chat.mSourceType != CHAT_SOURCE_OBJECT && - LLMuteList::getInstance()->isLinden(name); + LLMuteList::isLinden(name); chat.mMuted = is_muted; chat.mFromID = from_id; @@ -521,7 +522,8 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, parent_estate_id, region_id, position, - true); + false, // is_region_msg + timestamp); if (!gIMMgr->isDNDMessageSend(session_id)) { @@ -572,6 +574,15 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, } if (!mute_im) { + bool region_message = false; + if (region_id.isNull()) + { + LLViewerRegion* regionp = LLWorld::instance().getRegionFromID(from_id); + if (regionp) + { + region_message = true; + } + } gIMMgr->addMessage( session_id, from_id, @@ -583,7 +594,8 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, parent_estate_id, region_id, position, - true); + region_message, + timestamp); } else { @@ -1103,7 +1115,8 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, parent_estate_id, region_id, position, - true); + false, // is_region_msg + timestamp); } else { @@ -1123,13 +1136,14 @@ void LLIMProcessing::processNewMessage(LLUUID from_id, from_id, name, buffer, - IM_OFFLINE == offline, - ll_safe_string((char*)binary_bucket), + (IM_OFFLINE == offline), + ll_safe_string((char*)binary_bucket), // session name IM_SESSION_INVITE, parent_estate_id, region_id, position, - true); + false, // is_region_msg + timestamp); } break; @@ -1561,7 +1575,7 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url) return; } - if (messages.emptyArray()) + if (messages.size() == 0) { // Nothing to process return; |