diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 9f764c6e41eef6a473fd9f97b34cba870d03b194..6e350a5b1dccdedbe676f289fac7f546d4927811 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 13f76c0593baf2adcff27f4964ceb41305cdb9dd..fe0b3ff6761aa20661b6406a082a9ee1e93ff4e0 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 df9d8143b16fa81221718ce2409ce048ae2487d6..76261c0dc8f8fe9ee48fdd52c812456d16d11210 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -290,6 +290,24 @@ class LLVOAvatar : 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 4e75582a935cc15d45759695d518119ee40c2cd7..33f33b202f70a738954e714951ee3bbaae5aa650 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2136,7 +2136,7 @@ class ViewerAppearanceChangeMetricsResponder: public LLCurl::Responder void LLVOAvatarSelf::sendAppearanceChangeMetrics() { - gAgentAvatarp->stopAllPhases(); + // gAgentAvatarp->stopAllPhases(); LLSD msg = metricsData(); msg["message"] = "ViewerAppearanceChangeMetrics";