From 72022279535dd0ff0938e2dbbf44b6dfd6560af3 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Tue, 17 Nov 2009 13:43:12 -0500 Subject: Removed function that was only used for debugging. Defer object suicide until end of the method --HG-- branch : avatar-pipeline --- indra/newview/llappearancemgr.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index a23d21f84b..09efda6aca 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -95,7 +95,7 @@ public: mCopyItems(copy_items), mAppend(append) {} - ~LLOutfitObserver(); + ~LLOutfitObserver() {} virtual void done(); void doWearCategory(); @@ -105,12 +105,6 @@ protected: bool mAppend; }; -LLOutfitObserver::~LLOutfitObserver() -{ - llinfos << "~LLOutfitObserver" << llendl; -} - -// BAP is LLOutfitObserver getting deleted here? void LLOutfitObserver::done() { gInventory.removeObserver(this); @@ -236,7 +230,6 @@ void LLOutfitFetch::done() // loop. //dec_busy_count(); gInventory.removeObserver(this); - delete this; // increment busy count and either tell the inventory to check & // call done, or add this object to the inventory for observation. @@ -255,6 +248,7 @@ void LLOutfitFetch::done() // will call done for us when everything is here. gInventory.addObserver(outfit_observer); } + delete this; } class LLUpdateAppearanceOnDestroy: public LLInventoryCallback -- cgit v1.2.3 From 6474dbd46920fe704625a44cc2b8c56bfdca4990 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Tue, 17 Nov 2009 16:07:29 -0500 Subject: For DEV-34652: OUTFITS (Operations) : Wear folders via drag and drop - handle untyped folder dragged to outfit --HG-- branch : avatar-pipeline --- indra/newview/llappearancemgr.cpp | 2 +- indra/newview/llappearancemgr.h | 8 +++++--- indra/newview/llinventorybridge.cpp | 8 ++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 09efda6aca..48f11a7cf5 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -465,7 +465,7 @@ void LLAppearanceManager::filterWearableItems( // Create links to all listed items. void LLAppearanceManager::linkAll(const LLUUID& category, LLInventoryModel::item_array_t& items, - LLPointer cb) + LLPointer cb) { for (S32 i=0; i cb); + protected: LLAppearanceManager(); ~LLAppearanceManager(); @@ -89,9 +94,6 @@ protected: private: void filterWearableItems(LLInventoryModel::item_array_t& items, S32 max_per_type); - void linkAll(const LLUUID& category, - LLInventoryModel::item_array_t& items, - LLPointer cb); void getDescendentsOfAssetType(const LLUUID& category, LLInventoryModel::item_array_t& items, diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index aa38b19c5e..8b7a84a3d3 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1680,6 +1680,14 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, BOOL append = true; LLAppearanceManager::instance().wearInventoryCategory(inv_cat, false, append); } + else + { + // Recursively create links in target outfit. + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + gInventory.collectDescendents(inv_cat->getUUID(), cats, items, LLInventoryModel::EXCLUDE_TRASH); + LLAppearanceManager::instance().linkAll(mUUID,items,NULL); + } } else { -- cgit v1.2.3