summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llimview.cpp1
-rw-r--r--indra/newview/llimview.h1
-rw-r--r--indra/newview/llviewermessage.cpp8
3 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index afd565bb26..00000bffc9 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -3231,6 +3231,7 @@ public:
std::string((char*)&bin_bucket[0]),
IM_SESSION_INVITE,
message_params["parent_estate_id"].asInteger(),
+ message_params["estate_id"].asInteger(),
message_params["region_id"].asUUID(),
ll_vector3_from_sd(message_params["position"]),
true);
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index a15776c207..486e8c2d5d 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -335,6 +335,7 @@ public:
const std::string& session_name = LLStringUtil::null,
EInstantMessage dialog = IM_NOTHING_SPECIAL,
U32 parent_estate_id = 0,
+ U32 estate_id = 0,
const LLUUID& region_id = LLUUID::null,
const LLVector3& position = LLVector3::zero,
bool link_name = false);
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 7dc5d96689..858e558e6c 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2202,6 +2202,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
std::string name;
std::string message;
U32 parent_estate_id = 0;
+ U32 estate_id = 0;
LLUUID region_id;
LLVector3 position;
U8 binary_bucket[MTUBYTES];
@@ -2221,6 +2222,10 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_FromAgentName, name);
msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_Message, message);
msg->getU32Fast(_PREHASH_MessageBlock, _PREHASH_ParentEstateID, parent_estate_id);
+ if (msg->getNumberOfBlocks(_PREHASH_EstateBlock) > 0)
+ {
+ msg->getU32Fast(_PREHASH_EstateBlock, _PREHASH_EstateID, estate_id);
+ }
msg->getUUIDFast(_PREHASH_MessageBlock, _PREHASH_RegionID, region_id);
msg->getVector3Fast(_PREHASH_MessageBlock, _PREHASH_Position, position);
msg->getBinaryDataFast( _PREHASH_MessageBlock, _PREHASH_BinaryBucket, binary_bucket, 0, 0, MTUBYTES);
@@ -2321,6 +2326,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
LLStringUtil::null,
dialog,
parent_estate_id,
+ estate_id,
region_id,
position,
true);
@@ -2366,6 +2372,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
LLStringUtil::null,
dialog,
parent_estate_id,
+ estate_id,
region_id,
position,
true);
@@ -2683,6 +2690,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
ll_safe_string((char*)binary_bucket),
IM_SESSION_INVITE,
parent_estate_id,
+ estate_id,
region_id,
position,
true);