diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llmaterialmgr.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llmaterialmgr.h | 6 | 
2 files changed, 10 insertions, 5 deletions
| diff --git a/indra/newview/llmaterialmgr.cpp b/indra/newview/llmaterialmgr.cpp index 1daeedb8b0..3dd60f5dc3 100644 --- a/indra/newview/llmaterialmgr.cpp +++ b/indra/newview/llmaterialmgr.cpp @@ -233,7 +233,8 @@ const LLMaterialPtr LLMaterialMgr::setMaterial(const LLUUID& region_id, const LL  	material_map_t::const_iterator itMaterial = mMaterials.find(material_id);  	if (mMaterials.end() == itMaterial)  	{ -		std::pair<material_map_t::const_iterator, bool> ret = mMaterials.insert(std::pair<LLMaterialID, LLMaterialPtr>(material_id, new LLMaterial(material_data))); +		LLMaterialPtr newMaterial(new LLMaterial(material_data)); +		std::pair<material_map_t::const_iterator, bool> ret = mMaterials.insert(std::pair<LLMaterialID, LLMaterialPtr>(material_id, newMaterial));  		itMaterial = ret.first;  	} @@ -615,12 +616,16 @@ void LLMaterialMgr::onRegionRemoved(LLViewerRegion* regionp)  	// Get  	mGetQueue.erase(region_id); -	for (get_pending_map_t::const_iterator itPending = mGetPending.begin(); itPending != mGetPending.end();) +	for (get_pending_map_t::iterator itPending = mGetPending.begin(); itPending != mGetPending.end();)  	{  		if (region_id == itPending->first.first) +		{  			mGetPending.erase(itPending++); +		}  		else +		{  			++itPending; +		}  	}  	// Get all diff --git a/indra/newview/llmaterialmgr.h b/indra/newview/llmaterialmgr.h index 5a0064ae27..0b7217445a 100644 --- a/indra/newview/llmaterialmgr.h +++ b/indra/newview/llmaterialmgr.h @@ -35,7 +35,7 @@ class LLViewerRegion;  class LLMaterialMgr : public LLSingleton<LLMaterialMgr>  { -	friend LLSingleton<LLMaterialMgr>; +	friend class LLSingleton<LLMaterialMgr>;  protected:  	LLMaterialMgr();  	virtual ~LLMaterialMgr(); @@ -69,8 +69,8 @@ protected:  	typedef std::set<LLMaterialID> material_queue_t;  	typedef std::map<LLUUID, material_queue_t> get_queue_t;  	get_queue_t        mGetQueue; -	typedef std::pair<LLUUID, LLMaterialID> pending_material_t; -	typedef std::map<pending_material_t, F64> get_pending_map_t; +	typedef std::pair<const LLUUID, LLMaterialID> pending_material_t; +	typedef std::map<const pending_material_t, F64> get_pending_map_t;  	get_pending_map_t  mGetPending;  	typedef std::map<LLMaterialID, get_callback_t*> get_callback_map_t;  	get_callback_map_t mGetCallbacks; | 
