From cabd68fb01567d4a25ea54e5d3f859603e8d40c9 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 Apr 2015 17:39:31 +0200 Subject: [PATCH] FIRE-15886: Follow-up fix: Only show the object in inventory if it's from an agent - taking objects inworld will route us here too --- indra/newview/llviewermessage.cpp | 9 ++++++--- indra/newview/llviewermessage.h | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 901d2c0ca7..ab13b581de 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -893,7 +893,8 @@ public: // FIRE-3234: Don't need a check for ShowNewInventory here; // This only gets called if the user explicity clicks "Show" or // AutoAcceptNewInventory and ShowNewInventory are TRUE. - open_inventory_offer(mComplete, mFromName); + //open_inventory_offer(mComplete, mFromName); + open_inventory_offer(mComplete, mFromName, true); gInventory.removeObserver(this); delete this; } @@ -1349,7 +1350,9 @@ bool check_asset_previewable(const LLAssetType::EType asset_type) (asset_type == LLAssetType::AT_SOUND); } -void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_name) +// FIRE-15886 +//void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_name) +void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_name, bool from_agent /* = false*/) { for (uuid_vec_t::const_iterator obj_iter = objects.begin(); obj_iter != objects.end(); @@ -1478,7 +1481,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam // Highlight item // Only show if either ShowInInventory is true OR we use legacy // accept messages and clicked on the show button and the asset is not previewable - const BOOL auto_open = gSavedSettings.getBOOL("ShowInInventory") || (gSavedSettings.getBOOL("FSUseLegacyInventoryAcceptMessages") && !check_asset_previewable(asset_type)); + const BOOL auto_open = gSavedSettings.getBOOL("ShowInInventory") || (from_agent && gSavedSettings.getBOOL("FSUseLegacyInventoryAcceptMessages") && !check_asset_previewable(asset_type)); //gSavedSettings.getBOOL("ShowInInventory") && // don't open if showininventory is false //!from_name.empty(); // don't open if it's not from anyone. // Don't mess with open inventory panels when ShowInInventory is FALSE diff --git a/indra/newview/llviewermessage.h b/indra/newview/llviewermessage.h index 680d4b13e8..b64b610b99 100755 --- a/indra/newview/llviewermessage.h +++ b/indra/newview/llviewermessage.h @@ -211,7 +211,9 @@ void invalid_message_callback(LLMessageSystem*, void*, EMessageException); void process_initiate_download(LLMessageSystem* msg, void**); void start_new_inventory_observer(); -void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name); +// FIRE-15886 +//void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name); +void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name, bool from_agent = false); // Returns true if item is not in certain "quiet" folder which don't need UI // notification (e.g. trash, cof, lost-and-found) and agent is not AFK, false otherwise.