From d4707b7ef31355278e57a258a1bb19ef014376ce Mon Sep 17 00:00:00 2001 From: Runitai Linden Date: Mon, 6 Dec 2021 16:49:29 -0600 Subject: SL-16451 Fix for rigged meshes disappearing when rendered as static. --- indra/newview/llvovolume.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4e7eb4df5d..c1f83ed0ae 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1699,6 +1699,7 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global) { LL_DEBUGS("RiggedBox") << "rebuilding box, volume face count " << getVolume()->getNumVolumeFaces() << " drawable face count " << mDrawable->getNumFaces() << LL_ENDL; } + // There's no guarantee that getVolume()->getNumFaces() == mDrawable->getNumFaces() for (S32 i = 0; i < getVolume()->getNumVolumeFaces() && i < mDrawable->getNumFaces() && i < getNumTEs(); @@ -1740,7 +1741,18 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global) } } - if (isRiggedMesh()) + bool rigged = false; + + if (!isAnimatedObject()) + { + rigged = isRiggedMesh() && isAttachment(); + } + else + { + rigged = isRiggedMesh() && getControlAvatar() && getControlAvatar()->mPlaying; + } + + if (rigged) { min.set(-1, -1, -1, 0); max.set(1, 1, 1, 0); -- cgit v1.2.3