diff options
author | Eric Tulla <tulla@lindenlab.com> | 2009-09-29 23:09:41 +0000 |
---|---|---|
committer | Eric Tulla <tulla@lindenlab.com> | 2009-09-29 23:09:41 +0000 |
commit | 6d887be5895286f6b65ea751014f33bd9e0faac4 (patch) | |
tree | c5e0a88ccc2666fd5720a84cd2bd505865886b31 /indra/newview/llappearancemgr.cpp | |
parent | 7dbf4d526a0dcb753ab17feaf7bee012aeb7229c (diff) |
Syncing latest appearance work from avatar pipeline into viewer2.0.
Result of: (NO CONFLICTS)
svn merge -r 134301:134742 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/currently-worn-folder-9 .
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index dfed1cb57a..3831846e2e 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -416,11 +416,11 @@ void removeDuplicateItems(LLInventoryModel::item_array_t& dst, const LLInventory if (!append && total_links > 0) { - // Remove all current outfit folder links since we're now replacing the contents. for (S32 i = 0; i < cof_items.count(); ++i) { gInventory.purgeObject(cof_items.get(i)->getUUID()); } + gInventory.notifyObservers(); } LLPointer<LLUpdateAppearanceOnDestroy> link_waiter = new LLUpdateAppearanceOnDestroy; @@ -532,19 +532,19 @@ void removeDuplicateItems(LLInventoryModel::item_array_t& dst, const LLInventory const LLUUID ¤t_outfit_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_CURRENT_OUTFIT); // Processes that take time should show the busy cursor //inc_busy_count(); - + LLInventoryModel::cat_array_t cof_cats; LLInventoryModel::item_array_t cof_items; gInventory.collectDescendents(current_outfit_id, cof_cats, cof_items, LLInventoryModel::EXCLUDE_TRASH); - + if (items.count() > 0) { - // Remove all current outfit folder links since we're now replacing the contents. for (S32 i = 0; i < cof_items.count(); ++i) { gInventory.purgeObject(cof_items.get(i)->getUUID()); } + gInventory.notifyObservers(); } LLPointer<LLInventoryCallback> link_waiter = new LLUpdateAppearanceOnDestroy; @@ -696,21 +696,11 @@ void LLAppearanceManager::updateAgentWearables(LLWearableHoldingPattern* holder, } } - - //If the folder doesn't contain only gestures, take off all attachments. - if (!(wear_items.count() == 0 && obj_items.count() == 0 && gest_items.count() > 0) ) + // Update attachments to match those requested. + LLVOAvatar* avatar = gAgent.getAvatarObject(); + if( avatar ) { - LLAgentWearables::userRemoveAllAttachments(); - } - - if( obj_items.count() > 0 ) - { - // We've found some attachments. Add these. - LLVOAvatar* avatar = gAgent.getAvatarObject(); - if( avatar ) - { - LLAgentWearables::userAttachMultipleAttachments(obj_items); - } + LLAgentWearables::userUpdateAttachments(obj_items); } } |