summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authormaksymsproductengine <maksymsproductengine@lindenlab.com>2012-12-05 20:47:21 +0200
committermaksymsproductengine <maksymsproductengine@lindenlab.com>2012-12-05 20:47:21 +0200
commitfc000880b40143534c47c475a7a0aba6ab75039e (patch)
tree05e47fe1ecce5270aea3b6420080e6ee9e1cbeee /indra/newview
parente0b1b063c14081a7c53ab5620db20385e1f2bbbd (diff)
CHUI-519 FIXED Do not put offered items into the trash while in Busy / DND mode
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llnotificationofferhandler.cpp1
-rwxr-xr-xindra/newview/llviewermessage.cpp5
-rw-r--r--indra/newview/skins/default/xui/en/menu_conversation.xml3
3 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index 91003c7d53..ff5b5e21f7 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -113,6 +113,7 @@ bool LLOfferHandler::processNotification(const LLNotificationPtr& notification)
p.panel = notify_box;
// we not save offer notifications to the syswell floater that should be added to the IM floater
p.can_be_stored = !add_notif_to_im;
+ p.force_show = notification->getOfferFromAgent();
LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get());
if(channel)
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index dc8192105f..ea804508c8 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1971,6 +1971,7 @@ void inventory_offer_handler(LLOfferInfo* info)
p.substitutions(args).payload(payload).functor.responder(LLNotificationResponderPtr(info));
info->mPersist = true;
p.name = "UserGiveItem";
+ p.offer_from_agent = true;
// Prefetch the item into your local inventory.
LLInventoryFetchItemsObserver* fetch_item = new LLInventoryFetchItemsObserver(info->mObjectID);
@@ -2738,7 +2739,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
// Same as closing window
info->forceResponse(IOR_DECLINE);
}
- else if (is_do_not_disturb && dialog != IM_TASK_INVENTORY_OFFERED) // busy mode must not affect interaction with objects (STORM-565)
+ // old logic: busy mode must not affect interaction with objects (STORM-565)
+ // new logic: inventory offers from in-world objects should be auto-declined (CHUI-519)
+ else if (is_do_not_disturb && dialog == IM_TASK_INVENTORY_OFFERED)
{
// Until throttling is implemented, do not disturb mode should reject inventory instead of silently
// accepting it. SEE SL-39554
diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml
index e8265fe482..01ef8ebdb5 100644
--- a/indra/newview/skins/default/xui/en/menu_conversation.xml
+++ b/indra/newview/skins/default/xui/en/menu_conversation.xml
@@ -116,9 +116,10 @@
label="Block Text"
layout="topleft"
name="MuteText">
- <on_click function="Avatar.DoToSelected" parameter="mute_unmute"/>
+ <on_click function="Avatar.DoToSelected" parameter="mute_unmute" />
<on_check function="Avatar.CheckItem" parameter="is_muted" />
<on_enable function="Avatar.EnableItem" parameter="can_block" />
+ </menu_item_check>
<menu_item_call
label="Group Profile"
layout="topleft"