diff options
| -rwxr-xr-x[-rw-r--r--] | indra/newview/llagent.cpp | 7 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/newview/llagentwearables.cpp | 5 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/newview/llagentwearables.h | 1 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/newview/llinventorymodel.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llviewerassetstats.cpp | 6 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 7 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 8 | 
7 files changed, 27 insertions, 9 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 8aba2e76a2..3f1f410db8 100644..100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3783,6 +3783,13 @@ void LLAgent::sendAgentSetAppearance()  		return;  	} +	if (!gAgentWearables.changeInProgress()) +	{ +		// Change is fully resolved, can close some open phases. +		gAgentAvatarp->stopPhase("process_initial_wearables_update"); +		gAgentAvatarp->stopPhase("wear_inventory_category"); +	} +	  	gAgentAvatarp->sendAppearanceChangeMetrics();  	LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "TAT: Sent AgentSetAppearance: " << gAgentAvatarp->getBakedStatusForPrintout() << LL_ENDL;  	//dumpAvatarTEs( "sendAgentSetAppearance()" ); diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index bd418ca2b3..20ce2f63e2 100644..100755 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -2081,6 +2081,11 @@ boost::signals2::connection LLAgentWearables::addLoadedCallback(loaded_callback_  	return mLoadedSignal.connect(cb);  } +bool LLAgentWearables::changeInProgress() const +{ +	return mCOFChangeInProgress; +} +  void LLAgentWearables::notifyLoadingStarted()  {  	mCOFChangeInProgress = true; diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h index 01cae3ffd8..5932be21c6 100644..100755 --- a/indra/newview/llagentwearables.h +++ b/indra/newview/llagentwearables.h @@ -233,6 +233,7 @@ public:  	typedef boost::signals2::signal<void()>	loaded_signal_t;  	boost::signals2::connection				addLoadedCallback(loaded_callback_t cb); +	bool									changeInProgress() const;  	void									notifyLoadingStarted();  	void									notifyLoadingFinished(); diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 2e4db6fc37..ba64447c1d 100644..100755 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -2716,7 +2716,7 @@ void LLInventoryModel::processBulkUpdateInventory(LLMessageSystem* msg, void**)  	{  		LLPointer<LLViewerInventoryItem> titem = new LLViewerInventoryItem;  		titem->unpackMessage(msg, _PREHASH_ItemData, i); -		llinfos << "unpaked item '" << titem->getName() << "' in " +		llinfos << "unpacked item '" << titem->getName() << "' in "  				<< titem->getParentUUID() << llendl;  		U32 callback_id;  		msg->getU32Fast(_PREHASH_ItemData, _PREHASH_CallbackID, callback_id); diff --git a/indra/newview/llviewerassetstats.cpp b/indra/newview/llviewerassetstats.cpp index 4928f93a51..0adefbc500 100755 --- a/indra/newview/llviewerassetstats.cpp +++ b/indra/newview/llviewerassetstats.cpp @@ -346,9 +346,11 @@ LLViewerAssetStats::asLLSD(bool compact_output)  			slot[mean_tag] = LLSD(F64(stats.mFPS.getMean()));  		}  		reg_stat[avatar_tag][avatar_nearby_tag] = LLSD::emptyArray(); -		for (S32 j = 0; j < stats.mAvatarRezStates.size(); ++j) +		if (stats.mAvatarRezStates.size() > 2)  		{ -			reg_stat[avatar_tag][avatar_nearby_tag].append(stats.mAvatarRezStates[j]); +			reg_stat[avatar_tag][avatar_nearby_tag]["cloud"] = stats.mAvatarRezStates[0]; +			reg_stat[avatar_tag][avatar_nearby_tag]["gray"] = stats.mAvatarRezStates[1]; +			reg_stat[avatar_tag][avatar_nearby_tag]["textured"] = stats.mAvatarRezStates[2];  		}  		U32 grid_x(0), grid_y(0); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index ea771b6d68..1537435526 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -981,8 +981,11 @@ void LLVOAvatar::startPhase(const std::string& phase_name)  void LLVOAvatar::stopPhase(const std::string& phase_name)  { -	LLFrameTimer& timer = getPhaseTimer(phase_name); -	timer.pause(); +	phase_map_t::iterator iter = mPhases.find(phase_name); +	if (iter != mPhases.end()) +	{ +		iter->second.pause(); +	}  }  void LLVOAvatar::stopAllPhases() diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index f73c8b59aa..5eb0cefb40 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2132,10 +2132,10 @@ LLSD LLVOAvatarSelf::metricsData()  	result["is_self"] = isSelf();  	std::vector<S32> rez_counts;  	LLVOAvatar::getNearbyRezzedStats(rez_counts); -	result["nearby"] = LLSD::emptyArray(); -	result["nearby"][0] = rez_counts[0]; -	result["nearby"][1] = rez_counts[1]; -	result["nearby"][2] = rez_counts[2]; +	result["nearby"] = LLSD::emptyMap(); +	result["nearby"]["cloud"] = rez_counts[0]; +	result["nearby"]["gray"] = rez_counts[1]; +	result["nearby"]["textured"] = rez_counts[2];  	result["timers"]["debug_existence"] = mDebugExistenceTimer.getElapsedTimeF32();  	result["timers"]["ruth_debug"] = mRuthDebugTimer.getElapsedTimeF32();  	result["timers"]["ruth"] = mRuthTimer.getElapsedTimeF32(); | 
