summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-x[-rw-r--r--]indra/newview/llagent.cpp7
-rwxr-xr-x[-rw-r--r--]indra/newview/llagentwearables.cpp5
-rwxr-xr-x[-rw-r--r--]indra/newview/llagentwearables.h1
-rwxr-xr-x[-rw-r--r--]indra/newview/llinventorymodel.cpp2
-rwxr-xr-xindra/newview/llviewerassetstats.cpp6
-rwxr-xr-xindra/newview/llvoavatar.cpp7
-rwxr-xr-xindra/newview/llvoavatarself.cpp8
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();