diff options
-rw-r--r-- | indra/newview/llviewerobject.cpp | 17 |
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 { |