summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Todd Stinson <stinson@lindenlab.com>2012-11-16 17:26:01 -0800
committerWilliam Todd Stinson <stinson@lindenlab.com>2012-11-16 17:26:01 -0800
commit6036ee9c421154a83a306bc16533e47f9494fd32 (patch)
tree6d54b08d95441d321aa704885d1880c22563b59c
parenta7a61adb29f2842a98dda44ad9062e262ab20a98 (diff)
MAINT-1890 FIX Removing previous hacky fix for this issue. The better solution is to clamp the update_period to a reasonable number of frames (32).
-rw-r--r--indra/newview/llflexibleobject.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp
index f5bf900d0d..28d195d5e9 100644
--- a/indra/newview/llflexibleobject.cpp
+++ b/indra/newview/llflexibleobject.cpp
@@ -96,18 +96,6 @@ LLVolumeImplFlexible::~LLVolumeImplFlexible()
//static
void LLVolumeImplFlexible::updateClass()
{
- // XXX stinson 11/13/2012 : This hack removes the optimization for limiting the number of flexi-prims
- // updated. With the optimization, flexi-prims attached to the users avatar were not being
- // animated correctly immediately following teleport. With the optimization removed, the bug went away.
-#define XXX_STINSON_MAINT_1890_HACK_FIX 1
-#if XXX_STINSON_MAINT_1890_HACK_FIX
- for (std::vector<LLVolumeImplFlexible*>::iterator iter = sInstanceList.begin();
- iter != sInstanceList.end();
- ++iter)
- {
- (*iter)->doIdleUpdate();
- }
-#else // XXX_STINSON_MAINT_1890_HACK_FIX
std::vector<S32>::iterator delay_iter = sUpdateDelay.begin();
for (std::vector<LLVolumeImplFlexible*>::iterator iter = sInstanceList.begin();
@@ -121,7 +109,6 @@ void LLVolumeImplFlexible::updateClass()
}
++delay_iter;
}
-#endif // XXX_STINSON_MAINT_1890_HACK_FIX
}
LLVector3 LLVolumeImplFlexible::getFramePosition() const
@@ -373,6 +360,8 @@ void LLVolumeImplFlexible::doIdleUpdate()
F32 pixel_area = mVO->getPixelArea();
U32 update_period = (U32) (LLViewerCamera::getInstance()->getScreenPixelArea()*0.01f/(pixel_area*(sUpdateFactor+1.f)))+1;
+ // MAINT-1890 Clamp the update period to ensure that the update_period is no greater than 32 frames
+ update_period = llclamp(update_period, 0U, 32U);
if (visible)
{