summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llviewerobject.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 11d64ab13a..1cd50e3400 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -3010,11 +3010,20 @@ void LLViewerObject::linkControlAvatar()
<< " created control av for "
<< (S32) (1+volp->numChildren()) << " prims" << LL_ENDL;
}
- if (getControlAvatar())
+ LLControlAvatar *cav = getControlAvatar();
+ if (cav)
{
- getControlAvatar()->updateAttachmentOverrides();
- getControlAvatar()->updateAnimations();
- getControlAvatar()->mPlaying = true;
+ cav->updateAttachmentOverrides();
+ cav->updateAnimations();
+ if (!cav->mPlaying)
+ {
+ cav->mPlaying = true;
+ if (!cav->mRootVolp->isAnySelected())
+ {
+ cav->updateVolumeGeom();
+ cav->mRootVolp->recursiveMarkForUpdate(TRUE);
+ }
+ }
}
else
{