From 36eb53d1e82a4183c85cd81447265e3286ee0f4b Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 31 May 2024 12:21:36 +0300
Subject: [PATCH] viewer#1600 Fixed being unable to delete links to worn
 objects

---
 indra/newview/llinventoryfunctions.cpp | 4 ++--
 indra/newview/llinventorygallery.cpp   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 20501f17e54..6d80214ed78 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -3253,7 +3253,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
 
                 for (LLInventoryModel::item_array_t::value_type& item : items)
                 {
-                    if (get_is_item_worn(item))
+                    if (!item->getIsLinkType() && get_is_item_worn(item))
                     {
                         has_worn = true;
                         LLWearableType::EType type = item->getWearableType();
@@ -3273,7 +3273,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
                 }
             }
             LLViewerInventoryItem* item = gInventory.getItem(obj_id);
-            if (item && get_is_item_worn(item))
+            if (item && !item->getIsLinkType() && get_is_item_worn(item))
             {
                 has_worn = true;
                 LLWearableType::EType type = item->getWearableType();
diff --git a/indra/newview/llinventorygallery.cpp b/indra/newview/llinventorygallery.cpp
index 4dae97088f1..cc7afdfd332 100644
--- a/indra/newview/llinventorygallery.cpp
+++ b/indra/newview/llinventorygallery.cpp
@@ -1988,7 +1988,7 @@ void LLInventoryGallery::deleteSelection()
 
             for (LLInventoryModel::item_array_t::value_type& item : items)
             {
-                if (get_is_item_worn(item))
+                if (!item->getIsLinkType() && get_is_item_worn(item))
                 {
                     has_worn = true;
                     LLWearableType::EType type = item->getWearableType();
@@ -2009,7 +2009,7 @@ void LLInventoryGallery::deleteSelection()
         }
 
         LLViewerInventoryItem* item = gInventory.getItem(id);
-        if (item && get_is_item_worn(item))
+        if (item && !item->getIsLinkType() && get_is_item_worn(item))
         {
             has_worn = true;
             LLWearableType::EType type = item->getWearableType();            
-- 
GitLab