summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.cpp
diff options
context:
space:
mode:
authorEric Tulla <tulla@lindenlab.com>2009-09-29 23:09:41 +0000
committerEric Tulla <tulla@lindenlab.com>2009-09-29 23:09:41 +0000
commit6d887be5895286f6b65ea751014f33bd9e0faac4 (patch)
treec5e0a88ccc2666fd5720a84cd2bd505865886b31 /indra/newview/llappearancemgr.cpp
parent7dbf4d526a0dcb753ab17feaf7bee012aeb7229c (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.cpp26
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 &current_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);
}
}