summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r--indra/newview/llvovolume.cpp35
1 files changed, 5 insertions, 30 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index ad72fa9480..1725ae4c8a 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -5046,38 +5046,13 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
rigged = rigged || (vobj->isAnimatedObject() && vobj->isRiggedMesh() &&
vobj->getControlAvatar() && vobj->getControlAvatar()->mPlaying);
- if (vobj->isAnimatedObject())
+ vobj->updateControlAvatar();
+ if (vobj->getControlAvatar())
{
- if (!vobj->getControlAvatar())
- {
- F32 tri_count = vobj->getRootEdit()->recursiveGetEstTrianglesMax();
- if (tri_count <= 0.f)
- {
- LL_DEBUGS("AnimatedObjects") << vobj_name << " not calling linkControlAvatar(), because no tris" << LL_ENDL;
- }
- else
- {
- LL_DEBUGS("AnimatedObjects") << vobj_name << " calling linkControlAvatar()" << LL_ENDL;
- vobj->linkControlAvatar();
- }
- }
- if (vobj->getControlAvatar())
- {
- rigged_av = vobj->getControlAvatar();
- rigged_av->rebuildAttachmentOverrides();
- }
+ rigged_av = vobj->getControlAvatar();
+ rigged_av->rebuildAttachmentOverrides();
}
- else
- {
- // Not animated but has a control avatar - probably
- // the checkbox has changed since the last rebuild.
- if (vobj->getControlAvatar())
- {
- LL_DEBUGS("AnimatedObjects") << vobj_name << " calling unlinkControlAvatar()" << LL_ENDL;
- vobj->unlinkControlAvatar();
- }
- }
-
+
bool bake_sunlight = LLPipeline::sBakeSunlight && drawablep->isStatic();
bool any_rigged_face = false;