diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index ccb16621396f069fd423692b096e0c26e0778855..701a0b5b131adb1ca9e0751fe78a6634b5fb793c 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2847,9 +2847,17 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update) } } - - attached_object->mDrawable->makeActive(); - attached_object->mDrawable->updateXform(TRUE); + // if selecting any attachments, update all of them as non-damped + if (LLSelectMgr::getInstance()->getSelection()->getObjectCount() && LLSelectMgr::getInstance()->getSelection()->isAttachment()) + { + gPipeline.updateMoveNormalAsync(attached_object->mDrawable); + } + else + { + // Note: SL-17415; While most objects follow joints, + // some objects get position updates from server + gPipeline.updateMoveDampedAsync(attached_object->mDrawable); + } // override_bbox calls movePartition() and getSpatialPartition(), // so bridge might no longer be valid, get it again.