summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfunctions.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-08-24 18:37:53 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-08-24 18:37:53 +0100
commit6ba23344c95157793af9e4154933ae8df61630e8 (patch)
treee12956cbe7a0082bbaaa545cb80d9e86b13f88e8 /indra/newview/llinventoryfunctions.cpp
parent01d06a3572c533f810f8f42e7ae9c55051f34aaf (diff)
parent46e6135eef90b7ff0f08b12384a9aafc1a3e91e1 (diff)
merge heads. whew.
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r--indra/newview/llinventoryfunctions.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index e814cf012e..f3d9639dee 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -215,7 +215,13 @@ BOOL get_is_item_worn(const LLUUID& id)
const LLViewerInventoryItem* item = gInventory.getItem(id);
if (!item)
return FALSE;
-
+
+ // Consider the item as worn if it has links in COF.
+ if (LLAppearanceMgr::instance().isLinkInCOF(id))
+ {
+ return TRUE;
+ }
+
switch(item->getType())
{
case LLAssetType::AT_OBJECT:
@@ -257,6 +263,16 @@ BOOL get_can_item_be_worn(const LLUUID& id)
return FALSE;
}
+ const LLUUID trash_id = gInventory.findCategoryUUIDForType(
+ LLFolderType::FT_TRASH);
+
+ // item can't be worn if base obj in trash, see EXT-7015
+ if (gInventory.isObjectDescendentOf(item->getLinkedUUID(),
+ trash_id))
+ {
+ return false;
+ }
+
switch(item->getType())
{
case LLAssetType::AT_OBJECT: