diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 540fa6dafc..946cb70dc8 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2209,7 +2209,9 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) } BOOL compiled = FALSE; - BOOL should_update_octree_bounds = bool(getRiggedVolume()); + // This should be true in most cases, unless we're sure no octree update is + // needed. + BOOL should_update_octree_bounds = bool(getRiggedVolume()) || mDrawable->isState(LLDrawable::REBUILD_POSITION) || !mDrawable->getSpatialExtents()->isFinite3(); if (mVolumeChanged || mFaceMappingChanged) { @@ -2258,7 +2260,6 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) } // NaCl End - should_update_octree_bounds = should_update_octree_bounds || !mDrawable->getSpatialExtents()->isFinite3(); // Generate bounding boxes if needed, and update the object's size in the // octree genBBoxes(FALSE, should_update_octree_bounds);