summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-03 13:21:42 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-03 13:21:42 -0400
commit02d2808a419ce37df877756883b96147d06aa4d8 (patch)
treedaf105f345765be81bb7fffa061a6f81d0f77cdd
parent9552f733ef0b581158665a1a464b5be7d4bada2a (diff)
SH-3635 WIP - unstick outfit change if stuck beyond a certain time range
-rwxr-xr-xindra/newview/llvoavatarself.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index b2fcfb6250..232bf3e478 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -239,6 +239,9 @@ void LLVOAvatarSelf::initInstance()
bool LLVOAvatarSelf::checkStuckAppearance()
{
+ const F32 CONDITIONAL_UNSTICK_INTERVAL = 300.0;
+ const F32 UNCONDITIONAL_UNSTICK_INTERVAL = 600.0;
+
if (gAgentWearables.isCOFChangeInProgress())
{
LL_DEBUGS("Avatar") << "checking for stuck appearance" << llendl;
@@ -248,6 +251,12 @@ bool LLVOAvatarSelf::checkStuckAppearance()
LL_DEBUGS("Avatar") << "active holding patterns " << active_hp << " seconds" << llendl;
S32 active_copies = LLAppearanceMgr::instance().getActiveCopyOperations();
LL_DEBUGS("Avatar") << "active copy operations " << active_copies << llendl;
+
+ if ((change_time > CONDITIONAL_UNSTICK_INTERVAL && active_copies == 0) ||
+ (change_time > UNCONDITIONAL_UNSTICK_INTERVAL))
+ {
+ gAgentWearables.notifyLoadingFinished();
+ }
}
// Return false to continue running check periodically.