diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llagentwearablesfetch.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewerinventory.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/llviewerinventory.h | 9 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.h | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml | 4 | 
5 files changed, 26 insertions, 6 deletions
diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index 0a2f0e9399..d911d123f4 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -48,7 +48,7 @@ public:  	virtual ~LLOrderMyOutfitsOnDestroy()  	{ -		if (LLApp::isExiting()) +		if (!LLApp::isRunning())  		{  			llwarns << "called during shutdown, skipping" << llendl;  			return; diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 1ff4d6db9e..cbc86c89cc 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -847,6 +847,21 @@ LLInventoryCallbackManager::~LLInventoryCallbackManager()  	sInstance = NULL;  } +//static  +void LLInventoryCallbackManager::destroyClass() +{ +	if (sInstance) +	{ +		for (callback_map_t::iterator it = sInstance->mMap.begin(), end_it = sInstance->mMap.end(); it != end_it; ++it) +		{ +			// drop LLPointer reference to callback +			it->second = NULL; +		} +		sInstance->mMap.clear(); +	} +} + +  U32 LLInventoryCallbackManager::registerCB(LLPointer<LLInventoryCallback> cb)  {  	if (cb.isNull()) diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h index d0d3ad693e..dc3d3f7423 100644 --- a/indra/newview/llviewerinventory.h +++ b/indra/newview/llviewerinventory.h @@ -36,6 +36,7 @@  #include "llinventory.h"  #include "llframetimer.h"  #include "llwearable.h" +#include "llui.h" //for LLDestroyClass  #include <boost/signals2.hpp>	// boost::signals2::trackable @@ -299,8 +300,9 @@ private:  // misc functions  //void inventory_reliable_callback(void**, S32 status); -class LLInventoryCallbackManager +class LLInventoryCallbackManager : public LLDestroyClass<LLInventoryCallbackManager>  { +	friend LLDestroyClass<LLInventoryCallbackManager>;  public:  	LLInventoryCallbackManager();  	~LLInventoryCallbackManager(); @@ -308,9 +310,12 @@ public:  	void fire(U32 callback_id, const LLUUID& item_id);  	U32 registerCB(LLPointer<LLInventoryCallback> cb);  private: -	std::map<U32, LLPointer<LLInventoryCallback> > mMap; +	typedef std::map<U32, LLPointer<LLInventoryCallback> > callback_map_t; +	callback_map_t mMap;  	U32 mLastCallback;  	static LLInventoryCallbackManager *sInstance; +	static void destroyClass(); +  public:  	static bool is_instantiated() { return sInstance != NULL; }  }; diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 3dad919875..dd7d0bb24d 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -868,7 +868,7 @@ private:  public:  	// Responsible for detecting the user's voice signal (and when the  	// user speaks, it puts a voice symbol over the avatar's head) and gesticulations -	LLVoiceVisualizer*  mVoiceVisualizer; +	LLPointer<LLVoiceVisualizer>  mVoiceVisualizer;  	int					mCurrentGesticulationLevel;  	//-------------------------------------------------------------------- diff --git a/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml b/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml index 4e7e2873b5..0a5930c820 100644 --- a/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml +++ b/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml @@ -4,8 +4,8 @@    height="20"    name="inventory_item"    tab_stop="false"  -  hover_image="ListItem_Over"  -  selected_name="ListItem_Select" +  hover_image="ListItem_Over" +  selected_image="ListItem_Select"    separator_image="Wearables_Divider"     width="380">    <!-- DEFAULT style for inventory list item -->  | 
