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      {  | 
