From 0459dd1e39dd0619f25e537840356f6c567f78e9 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 11 Feb 2010 15:22:38 -0500 Subject: EXT-5343 appearance editor "save as" does not affect Current outfit changed logic of the save as button to copy a link from the newly created inventory item to the current outfit folder. This makes your changes persist on relog. Reviewed by Vir. --- indra/newview/llagentwearables.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 6078620e87..a439720dcf 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -299,6 +299,10 @@ void LLAgentWearables::addWearableToAgentInventoryCallback::fire(const LLUUID& i { gAgentWearables.makeNewOutfitDone(mType, mIndex); } + if (mTodo & CALL_WEARITEM) + { + LLAppearanceManager::instance().addCOFItemLink(inv_item, true); + } } void LLAgentWearables::addWearabletoAgentInventoryDone(const S32 type, @@ -510,7 +514,7 @@ void LLAgentWearables::saveWearableAs(const EWearableType type, type, index, new_wearable, - addWearableToAgentInventoryCallback::CALL_UPDATE); + addWearableToAgentInventoryCallback::CALL_WEARITEM); LLUUID category_id; if (save_in_lost_and_found) { -- cgit v1.2.3 From 290a5846fc56046e7d8d65755250c49da25c9a46 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 12 Feb 2010 17:49:55 +0000 Subject: CID-218 Checker: REVERSE_INULL Function: LLAgentWearables::setWearableOutfit(const LLDynamicArray, (int)32> &, LLDynamicArray&, int) File: /indra/newview/llagentwearables.cpp --- indra/newview/llagentwearables.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index a439720dcf..5d6e88a833 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1605,6 +1605,9 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it LLWearable* new_wearable = wearables[i]; LLPointer new_item = items[i]; + llassert(new_wearable); + if (!new_wearable) continue; + const EWearableType type = new_wearable->getType(); wearables_to_remove[type] = FALSE; -- cgit v1.2.3 From 21e86251c0e328a491ffe78d0f34c39646bbf447 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 12 Feb 2010 17:51:23 +0000 Subject: CID-218 Checker: REVERSE_INULL Function: LLAgentWearables::setWearableOutfit(const LLDynamicArray, (int)32> &, LLDynamicArray&, int) File: /indra/newview/llagentwearables.cpp --- indra/newview/llagentwearables.cpp | 42 ++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 5d6e88a833..def6e60abd 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1606,33 +1606,31 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it LLPointer new_item = items[i]; llassert(new_wearable); - if (!new_wearable) continue; - - const EWearableType type = new_wearable->getType(); - wearables_to_remove[type] = FALSE; - - // MULTI_WEARABLE: using 0th - LLWearable* old_wearable = getWearable(type, 0); - if (old_wearable) + if (new_wearable) { - const LLUUID& old_item_id = getWearableItemID(type, 0); - if ((old_wearable->getAssetID() == new_wearable->getAssetID()) && - (old_item_id == new_item->getUUID())) - { - lldebugs << "No change to wearable asset and item: " << LLWearableDictionary::getInstance()->getWearableEntry(type) << llendl; - continue; - } + const EWearableType type = new_wearable->getType(); + wearables_to_remove[type] = FALSE; - // Assumes existing wearables are not dirty. - if (old_wearable->isDirty()) + // MULTI_WEARABLE: using 0th + LLWearable* old_wearable = getWearable(type, 0); + if (old_wearable) { - llassert(0); - continue; + const LLUUID& old_item_id = getWearableItemID(type, 0); + if ((old_wearable->getAssetID() == new_wearable->getAssetID()) && + (old_item_id == new_item->getUUID())) + { + lldebugs << "No change to wearable asset and item: " << LLWearableDictionary::getInstance()->getWearableEntry(type) << llendl; + continue; + } + + // Assumes existing wearables are not dirty. + if (old_wearable->isDirty()) + { + llassert(0); + continue; + } } - } - if (new_wearable) - { new_wearable->setItemID(new_item->getUUID()); setWearable(type,0,new_wearable); } -- cgit v1.2.3 From a3d8338cdcf73b17f6cec4f07916560477d933a6 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Fri, 12 Feb 2010 13:12:26 -0500 Subject: For EXT-5259: Major regression in load time for new users from 1.23 to 2.0. Moved autopopulate to after avatar appearance resolves --- indra/newview/llagentwearables.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 6620780b27..e8e347c82a 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -2143,6 +2143,8 @@ void LLAgentWearables::updateServer() void LLAgentWearables::populateMyOutfitsFolder(void) { + llinfos << "BAP starting populate" << llendl; + LLLibraryOutfitsFetch* outfits = new LLLibraryOutfitsFetch(); // Get the complete information on the items in the inventory and -- cgit v1.2.3 From 1e76fc2b1f4e735105f2d45d73ea5a92dbad4e05 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Fri, 12 Feb 2010 13:44:32 -0500 Subject: Log spam cleanup --- indra/newview/llagentwearables.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index e8e347c82a..9ff5de29c3 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -2143,7 +2143,7 @@ void LLAgentWearables::updateServer() void LLAgentWearables::populateMyOutfitsFolder(void) { - llinfos << "BAP starting populate" << llendl; + llinfos << "starting outfit populate" << llendl; LLLibraryOutfitsFetch* outfits = new LLLibraryOutfitsFetch(); -- cgit v1.2.3