diff --git a/indra/newview/fsradarmenu.cpp b/indra/newview/fsradarmenu.cpp index e57edc382b..821b234458 100644 --- a/indra/newview/fsradarmenu.cpp +++ b/indra/newview/fsradarmenu.cpp @@ -40,6 +40,7 @@ #include "llavataractions.h" #include "llcallingcard.h" // for LLAvatarTracker #include "llviewermenu.h" // for gMenuHolder +#include "rlvhandler.h" namespace FSFloaterRadarMenu { @@ -203,6 +204,10 @@ bool FSRadarMenu::enableContextMenuItem(const LLSD& userdata) // return LLAvatarActions::canOfferTeleport(mUUIDs); //} // + else if (item == std::string("can_open_inventory")) + { + return (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWINV)); + } return false; } diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 2a5d53059b..a6705d3448 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -558,6 +558,13 @@ void LLAvatarActions::csr(const LLUUID& id, std::string name) //static void LLAvatarActions::share(const LLUUID& id) { + // FIRE-8804: Prevent opening inventory from using share in radar context menu + if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWINV)) + { + return; + } + // + LLSD key; LLFloaterSidePanelContainer::showPanel("inventory", key); diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp index 0508d41875..a224ace582 100644 --- a/indra/newview/llpanelpeoplemenus.cpp +++ b/indra/newview/llpanelpeoplemenus.cpp @@ -38,6 +38,7 @@ #include "llavataractions.h" #include "llcallingcard.h" // for LLAvatarTracker #include "llviewermenu.h" // for gMenuHolder +#include "rlvhandler.h" namespace LLPanelPeopleMenus { @@ -177,6 +178,12 @@ bool NearbyMenu::enableContextMenuItem(const LLSD& userdata) // return LLAvatarActions::canOfferTeleport(mUUIDs); //} // + // FIRE-8804: Prevent opening inventory from using share in radar context menu + else if (item == std::string("can_open_inventory")) + { + return (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWINV)); + } + // return false; } diff --git a/indra/newview/rlvui.cpp b/indra/newview/rlvui.cpp index 82395d896f..82c7b8c888 100644 --- a/indra/newview/rlvui.cpp +++ b/indra/newview/rlvui.cpp @@ -254,10 +254,17 @@ void RlvUIEnabler::onToggleShowInv(bool fQuitting) // // Filter (or stop filtering) opening new inventory floaters // + // Modified for FIRE-8804 if (!fEnable) + { addGenericFloaterFilter("inventory"); + addGenericFloaterFilter("secondary_inventory"); + } else + { removeGenericFloaterFilter("inventory"); + removeGenericFloaterFilter("secondary_inventory"); + } } // Checked: 2010-04-22 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f diff --git a/indra/newview/skins/default/xui/en/menu_fs_radar.xml b/indra/newview/skins/default/xui/en/menu_fs_radar.xml index 43669deea0..5241bb8795 100644 --- a/indra/newview/skins/default/xui/en/menu_fs_radar.xml +++ b/indra/newview/skins/default/xui/en/menu_fs_radar.xml @@ -69,6 +69,9 @@ name="Share"> + +