From 287e1bafb286820e3d7d89c59082c72f622a53be Mon Sep 17 00:00:00 2001
From: andreykproductengine <akleshchev@productengine.com>
Date: Thu, 30 Jul 2015 19:23:56 +0300
Subject: [PATCH] MAINT-5439 FIXED Gesture will not deactivate by using the
 deactivate button in inventory drop down menu

---
 indra/newview/llappearancemgr.cpp   | 12 ++----------
 indra/newview/llinventorybridge.cpp |  4 ++--
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index a0c3868dc6..142a3250c8 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -3821,17 +3821,9 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove)
 		const LLUUID& id_to_remove = *it;
 		const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove);
 		LLViewerInventoryItem *item = gInventory.getItem(linked_item_id);
-		if (item)
+		if (item && item->getType() == LLAssetType::AT_OBJECT)
 		{
-			if (item->getType() == LLAssetType::AT_OBJECT)
-			{
-				LL_DEBUGS("Avatar") << "ATT removing attachment " << item->getName() << " id " << item->getUUID() << LL_ENDL;
-			}
-			if (item->getType() == LLAssetType::AT_GESTURE && LLGestureMgr::instance().isGestureActive(item->getLinkedUUID()))
-			{
-				// deactivate gesture before removing link
-				LLGestureMgr::instance().deactivateGesture(item->getLinkedUUID());
-			}
+			LL_DEBUGS("Avatar") << "ATT removing attachment " << item->getName() << " id " << item->getUUID() << LL_ENDL;
 		}
 		removeCOFItemLinks(linked_item_id, cb);
 		addDoomedTempAttachment(linked_item_id);
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 63e91f5d88..0671fc2719 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -124,7 +124,7 @@ bool isAddAction(const std::string& action)
 
 bool isRemoveAction(const std::string& action)
 {
-	return ("take_off" == action || "detach" == action || "deactivate" == action);
+	return ("take_off" == action || "detach" == action);
 }
 
 bool isMarketplaceCopyAction(const std::string& action)
@@ -5119,7 +5119,7 @@ void LLGestureBridge::performAction(LLInventoryModel* model, std::string action)
 		gInventory.updateItem(item);
 		gInventory.notifyObservers();
 	}
-	else if (isRemoveAction(action))
+	else if ("deactivate" == action || isRemoveAction(action))
 	{
 		LLGestureMgr::instance().deactivateGesture(mUUID);
 
-- 
GitLab