From 7d46d6fb21c21092b7dcaa3357a0698bf9d44794 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 14 May 2020 20:37:36 +0300 Subject: SL-12026 Fix issue with constant bridge recreation for animeshes --- indra/newview/lldrawable.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index ad19574b44..2219f20272 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -1182,7 +1182,8 @@ LLSpatialPartition* LLDrawable::getSpatialPartition() { U32 partition_type = mSpatialBridge->asPartition()->mPartitionType; bool is_hud = mVObjp->isHUDAttachment(); - bool is_attachment = mVObjp->isAttachment() && !is_hud; + bool is_animesh = mVObjp->isAnimatedObject() && mVObjp->getControlAvatar() != NULL; + bool is_attachment = mVObjp->isAttachment() && !is_hud && !is_animesh; if ((partition_type == LLViewerRegion::PARTITION_HUD) != is_hud) { // Was/became HUD @@ -1190,7 +1191,7 @@ LLSpatialPartition* LLDrawable::getSpatialPartition() mSpatialBridge->markDead(); setSpatialBridge(NULL); } - else if ((partition_type == LLViewerRegion::PARTITION_CONTROL_AV) != (mVObjp->isAnimatedObject() && mVObjp->getControlAvatar() != NULL)) + else if ((partition_type == LLViewerRegion::PARTITION_CONTROL_AV) != is_animesh) { // Was/became part of animesh // remove obsolete bridge -- cgit v1.2.3