diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index 8c6cbc020b7ef7d918540e64bdd13ea4f1cd1e12..76f6a76f04978948a3bbf2af5f249e61dd7c1691 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -909,15 +909,16 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update) // MAINT-7926 Handle volumes in an animated object as a special case // SL-937: add dynamic box handling for rigged mesh on regular avatars. //if (volume->getAvatar() && volume->getAvatar()->isControlAvatar()) - if (volume->getAvatar()) + LLVOAvatar* avatarp = volume->getAvatar(); + if (avatarp) { - const LLVector3* av_box = volume->getAvatar()->getLastAnimExtents(); + const LLVector3* av_box = avatarp->getLastAnimExtents(); LLVector3d cam_pos = gAgent.getPosGlobalFromAgent(LLViewerCamera::getInstance()->getOrigin()); LLVector3 cam_region_pos = LLVector3(cam_pos - volume->getRegion()->getOriginGlobal()); LLVector3 cam_to_box_offset = point_to_box_offset(cam_region_pos, av_box); mDistanceWRTCamera = llmax(0.01f, ll_round(cam_to_box_offset.magVec(), 0.01f)); - LL_DEBUGS("DynamicBox") << volume->getAvatar()->getFullname() + LL_DEBUGS("DynamicBox") << avatarp->getFullname() << " pos (ignored) " << pos << " cam pos " << cam_pos << " cam region pos " << cam_region_pos diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 336261eb4f0cc3d4f975cf5a41d1fc99b051710d..06ad5212d8d15ad37bb6725714ad6f744585f3d5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -4328,7 +4328,7 @@ const LLVector3 LLViewerObject::getRenderPosition() const } } LLVOAvatar* avatar = getAvatar(); - if ((avatar) && !getControlAvatar()) + if ((avatar) && !cav) { return avatar->getPositionAgent(); }