From 51c837dda7661ad7b9d90d96e35117eacc7a113a Mon Sep 17 00:00:00 2001
From: Vadim ProductEngine <vsavchuk@productengine.com>
Date: Fri, 19 Aug 2011 19:53:44 +0300
Subject: STORM-1543 WIP Fixed dropping nventory offers in busy mode.

When auto-discarding inventory offers we looked up missing Busy button
(i.e. a button having index=3) in the inventory offer notification dialog
template. Failure to find the button resulted in ignoring inventory offers.

Fixed that by "auto-clicking" the existing Discard button.
---
 indra/newview/llviewermessage.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

(limited to 'indra')

diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 321d02aaf1..8177446778 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1495,6 +1495,13 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
 	LLChat chat;
 	std::string log_message;
 	S32 button = LLNotificationsUtil::getSelectedOption(notification, response);
+
+	// The offer notification has no Busy button,
+	// so if we're in busy mode, assume busy response (STORM-1543).
+	if (gAgent.getBusy())
+	{
+		button = IOR_BUSY;
+	}
 	
 	LLInventoryObserver* opener = NULL;
 	LLViewerInventoryCategory* catp = NULL;
@@ -2667,7 +2674,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
 			{
 				// Until throttling is implemented, busy mode should reject inventory instead of silently
 				// accepting it.  SEE SL-39554
-				info->forceResponse(IOR_BUSY);
+				info->forceResponse(IOR_DECLINE);
 			}
 			else
 			{
-- 
cgit v1.2.3