aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llflexibleobject.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:58 -0500
committerJacek Antonelli2008-08-15 23:44:58 -0500
commit089fc07d207c71ce1401e72f09c31ad8c45872e2 (patch)
tree0028955add042c6f45b47a7b774adeeac9c592cb /linden/indra/newview/llflexibleobject.cpp
parentSecond Life viewer sources 1.16.0.5 (diff)
downloadmeta-impy-089fc07d207c71ce1401e72f09c31ad8c45872e2.zip
meta-impy-089fc07d207c71ce1401e72f09c31ad8c45872e2.tar.gz
meta-impy-089fc07d207c71ce1401e72f09c31ad8c45872e2.tar.bz2
meta-impy-089fc07d207c71ce1401e72f09c31ad8c45872e2.tar.xz
Second Life viewer sources 1.17.0.12
Diffstat (limited to 'linden/indra/newview/llflexibleobject.cpp')
-rw-r--r--linden/indra/newview/llflexibleobject.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/linden/indra/newview/llflexibleobject.cpp b/linden/indra/newview/llflexibleobject.cpp
index d4080c5..0dce348 100644
--- a/linden/indra/newview/llflexibleobject.cpp
+++ b/linden/indra/newview/llflexibleobject.cpp
@@ -62,6 +62,7 @@ LLVolumeImplFlexible::LLVolumeImplFlexible(LLViewerObject* vo, LLFlexibleObjectD
62 mInitializedRes = -1; 62 mInitializedRes = -1;
63 mSimulateRes = 0; 63 mSimulateRes = 0;
64 mFrameNum = 0; 64 mFrameNum = 0;
65 mRenderRes = 1;
65}//----------------------------------------------- 66}//-----------------------------------------------
66 67
67LLVector3 LLVolumeImplFlexible::getFramePosition() const 68LLVector3 LLVolumeImplFlexible::getFramePosition() const
@@ -253,7 +254,7 @@ BOOL LLVolumeImplFlexible::doIdleUpdate(LLAgent &agent, LLWorld &world, const F6
253{ 254{
254 if (!gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_FLEXIBLE)) 255 if (!gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_FLEXIBLE))
255 { 256 {
256 return TRUE; 257 return FALSE; // (we are not initialized or updated)
257 } 258 }
258 259
259 LLFastTimer ftm(LLFastTimer::FTM_FLEXIBLE_UPDATE); 260 LLFastTimer ftm(LLFastTimer::FTM_FLEXIBLE_UPDATE);
@@ -261,7 +262,7 @@ BOOL LLVolumeImplFlexible::doIdleUpdate(LLAgent &agent, LLWorld &world, const F6
261 if (mVO->mDrawable.isNull()) 262 if (mVO->mDrawable.isNull())
262 { 263 {
263 // Don't do anything until we have a drawable 264 // Don't do anything until we have a drawable
264 return TRUE; 265 return FALSE; // (we are not initialized or updated)
265 } 266 }
266 267
267 //flexible objects never go static 268 //flexible objects never go static
@@ -346,8 +347,13 @@ void LLVolumeImplFlexible::doFlexibleUpdate()
346 if (mSimulateRes == 0) 347 if (mSimulateRes == 0)
347 { 348 {
348 mVO->markForUpdate(TRUE); 349 mVO->markForUpdate(TRUE);
349 doIdleUpdate(gAgent, *gWorldp, 0.0); 350 if (!doIdleUpdate(gAgent, *gWorldp, 0.0))
351 {
352 return; // we did not get updated or initialized, proceeding without can be dangerous
353 }
350 } 354 }
355
356 llassert_always(mInitialized);
351 357
352 S32 num_sections = 1 << mSimulateRes; 358 S32 num_sections = 1 << mSimulateRes;
353 359