diff options
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 79ba3fb51d..b221c28dcd 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -2128,6 +2128,7 @@ void LLLibraryOutfitsFetch::done()  	}  	if (mOutfitsPopulated)  	{ +		gInventory.notifyObservers();  		delete this;  	}  } @@ -2162,6 +2163,11 @@ void LLLibraryOutfitsFetch::folderDone(void)  		// everything is already here - call done.  		outfitsDone();  	} +	else  +	{ +		gInventory.removeObserver(this); +		gInventory.addObserver(this); +	}  }  void LLLibraryOutfitsFetch::outfitsDone(void) @@ -2172,6 +2178,8 @@ void LLLibraryOutfitsFetch::outfitsDone(void)  								  LLInventoryModel::EXCLUDE_TRASH);  	LLInventoryFetchDescendentsObserver::folder_ref_t folders; +	 +	llassert(cat_array.count() > 0);  	for(S32 i = 0; i < cat_array.count(); ++i)  	{  		if (cat_array.get(i)->getName() != "More Outfits" && cat_array.get(i)->getName() != "Ruth"){ @@ -2186,6 +2194,11 @@ void LLLibraryOutfitsFetch::outfitsDone(void)  		// everything is already here - call done.  		contentsDone();  	} +	else +	{ +		gInventory.removeObserver(this); +		gInventory.addObserver(this); +	}  }  void LLLibraryOutfitsFetch::contentsDone(void) @@ -2199,7 +2212,6 @@ void LLLibraryOutfitsFetch::contentsDone(void)  														mOutfits[i].second);  		LLAppearanceManager::getInstance()->shallowCopyCategory(mOutfits[i].first, folder_id, NULL); -		gInventory.notifyObservers();  	}  	mOutfitsPopulated = true;  } | 
