diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-26 16:52:32 +0300 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-26 16:52:32 +0300 |
commit | 19fb0a16695b57e70dc371471d37c16929f1c424 (patch) | |
tree | 39f16d806b66e3795ded41c1462e205404996046 /indra/newview/llinventoryfunctions.cpp | |
parent | 8e56f063924601041bac3791e794fa6934f20936 (diff) | |
parent | 1a8d917a6d0d2393a0f0248d0072dd7cfd487609 (diff) |
Manual merge from default branch
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r-- | indra/newview/llinventoryfunctions.cpp | 18 |
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: |