diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llappearancemgr.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llappearancemgr.h | 8 | ||||
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 8 | 
3 files changed, 14 insertions, 4 deletions
| 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<LLInventoryCallback> cb) +								  LLPointer<LLInventoryCallback> cb)  {  	for (S32 i=0; i<items.count(); i++)  	{ diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index f39fbd7b1a..12ffa336b4 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -82,6 +82,11 @@ public:  	void setAttachmentInvLinkEnable(bool val);  	void linkRegisteredAttachments(); +	// utility function for bulk linking. +	void linkAll(const LLUUID& category, +				 LLInventoryModel::item_array_t& items, +				 LLPointer<LLInventoryCallback> 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<LLInventoryCallback> 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
  				{
 | 
