diff options
-rw-r--r-- | indra/newview/llimview.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llimview.h | 1 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 8 |
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); |