EXT-8629 FIXED Enable the Wear button in My Outfits for outfits that are subsets of the current outfit.

We allowed wearing any outfit that contains non-worn items.
Now it appears to be wrong, therefore and I changed condition so that
we allow wearing any outfit (or folder) that contains the full set of body parts.

Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/855/

--HG--
branch : product-engine
meow-7.2.2
Vadim Savchuk 2010-08-12 16:13:48 +03:00
parent 845317cb36
commit acab27b04e
1 changed files with 6 additions and 14 deletions

View File

@ -1012,7 +1012,7 @@ bool LLAppearanceMgr::wearItemOnAvatar(const LLUUID& item_id_to_wear, bool do_up
addCOFItemLink(item_to_wear, do_update, cb);
break;
case LLAssetType::AT_OBJECT:
rez_attachment(item_to_wear, NULL, replace);
rez_attachment(item_to_wear, NULL);
break;
default: return false;;
}
@ -1305,16 +1305,8 @@ bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id)
return false;
}
// Check whether the outfit contains any non-worn wearables.
LLInventoryModel::cat_array_t cats;
LLInventoryModel::item_array_t items;
LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ true);
gInventory.collectDescendentsIf(outfit_cat_id,
cats,
items,
LLInventoryModel::EXCLUDE_TRASH,
not_worn);
return items.size() > 0;
// Check whether the outfit contains the full set of body parts (shape+skin+hair+eyes).
return getCanMakeFolderIntoOutfit(outfit_cat_id);
}
void LLAppearanceMgr::purgeBaseOutfitLink(const LLUUID& category)
@ -1836,9 +1828,9 @@ void LLAppearanceMgr::wearInventoryCategory(LLInventoryCategory* category, bool
llinfos << "wearInventoryCategory( " << category->getName()
<< " )" << llendl;
callAfterCategoryFetch(category->getUUID(),boost::bind(&LLAppearanceMgr::wearCategoryFinal,
&LLAppearanceMgr::instance(),
category->getUUID(), copy, append));
callAfterCategoryFetch(category->getUUID(), boost::bind(&LLAppearanceMgr::wearCategoryFinal,
&LLAppearanceMgr::instance(),
category->getUUID(), copy, append));
}
void LLAppearanceMgr::wearCategoryFinal(LLUUID& cat_id, bool copy_items, bool append)