diff options
| -rwxr-xr-x | indra/newview/llagent.cpp | 4 | ||||
| -rwxr-xr-x | indra/newview/llappearancemgr.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.h | 18 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 2 | 
4 files changed, 24 insertions, 2 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 9f764c6e41..6e350a5b1d 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3257,6 +3257,10 @@ void LLAgent::processControlRelease(LLMessageSystem *msg, void **)  void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void **user_data)  {  	gAgentQueryManager.mNumPendingQueries--; +	if (gAgentQueryManager.mNumPendingQueries == 0) +	{ +		selfStopPhase("fetch_texture_cache_entries"); +	}  	if (!isAgentAvatarValid() || gAgentAvatarp->isDead())  	{ diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 13f76c0593..fe0b3ff676 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1708,7 +1708,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering)  		return;  	} -	selfStartPhase("update_appearance_from_cof"); +	LLVOAvatar::ScopedPhaseSetter(gAgentAvatarp,"update_appearance_from_cof");  	BoolSetter setIsInUpdateAppearanceFromCOF(mIsInUpdateAppearanceFromCOF); diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index df9d8143b1..76261c0dc8 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -290,6 +290,24 @@ public:  	void			stopAllPhases();  	void			clearPhases();  	LLSD			dumpPhases(); + +	class ScopedPhaseSetter +	{ +	public: +		ScopedPhaseSetter(LLVOAvatar* avatar, std::string phase_name): +			mAvatar(avatar),mPhaseName(phase_name) +		{ +			if (mAvatar) { mAvatar->startPhase(mPhaseName); } +		} +		~ScopedPhaseSetter() +		{ +			if (mAvatar) { mAvatar->stopPhase(mPhaseName); } +		} +	private: +		std::string mPhaseName; +		LLVOAvatar* mAvatar; +	}; +  protected:  	BOOL			updateIsFullyLoaded();  	BOOL			processFullyLoadedChange(bool loading); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 4e75582a93..33f33b202f 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2136,7 +2136,7 @@ public:  void LLVOAvatarSelf::sendAppearanceChangeMetrics()  { -	gAgentAvatarp->stopAllPhases(); +	// gAgentAvatarp->stopAllPhases();  	LLSD msg = metricsData();  	msg["message"] = "ViewerAppearanceChangeMetrics"; | 
