summaryrefslogtreecommitdiff
path: root/indra/newview/llimprocessing.cpp
diff options
context:
space:
mode:
authorRunitaiLinden <davep@lindenlab.com>2023-09-11 11:51:20 -0500
committerRunitaiLinden <davep@lindenlab.com>2023-09-11 11:51:20 -0500
commit74940194fa5cd4c5182f141ef262e5568156bdce (patch)
tree8d3a8e779d34a94b4df3dc4517dfa598b4b98367 /indra/newview/llimprocessing.cpp
parente3e1d42ab3021cf6e6ac68fff54c9185fd3a0ad1 (diff)
parent0b02bf5d262fe9a6de968686420c4d525ac04077 (diff)
Merge remote-tracking branch 'remotes/origin/DRTVWR-559' into davep/SL-19842
Diffstat (limited to 'indra/newview/llimprocessing.cpp')
-rw-r--r--indra/newview/llimprocessing.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index 3536b83989..948793681d 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -1631,14 +1631,19 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
from_group = message_data["from_group"].asString() == "Y";
}
-
+ EInstantMessage dialog = static_cast<EInstantMessage>(message_data["dialog"].asInteger());
+ LLUUID session_id = message_data["transaction-id"].asUUID();
+ if (session_id.isNull() && dialog == IM_FROM_TASK)
+ {
+ session_id = message_data["asset_id"].asUUID();
+ }
LLIMProcessing::processNewMessage(
message_data["from_agent_id"].asUUID(),
from_group,
message_data["to_agent_id"].asUUID(),
message_data.has("offline") ? static_cast<U8>(message_data["offline"].asInteger()) : IM_OFFLINE,
- static_cast<EInstantMessage>(message_data["dialog"].asInteger()),
- message_data["transaction-id"].asUUID(),
+ dialog,
+ session_id,
static_cast<U32>(message_data["timestamp"].asInteger()),
message_data["from_agent_name"].asString(),
message_data["message"].asString(),