summaryrefslogtreecommitdiff
path: root/indra/newview/llimprocessing.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2023-08-24 07:37:50 +0800
committerErik Kundiman <erik@megapahit.org>2023-08-24 07:37:50 +0800
commit7f354c70ba623b591c36dadd0f6616b349be4fc7 (patch)
tree67557a9981877e6e4b1f08937dfde94e6287dc61 /indra/newview/llimprocessing.cpp
parent5b9cb5bba3c12b1b5c86ba56d43ccf06b83edc14 (diff)
parent33e0766ee08cccb480675a75d83b3a6e78849906 (diff)
Merge tag '6.6.14-release'
source for viewer 6.6.14.581101
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(),