diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2010-11-05 16:17:54 -0400 |
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2010-11-05 16:17:54 -0400 |
| commit | 7318214ed30f57fe04dd7828fffede949fee6245 (patch) | |
| tree | 71f22a09fe50176e9b7664611f7ad3addc254ec9 /indra/newview/llflexibleobject.cpp | |
| parent | ddff1c68f22fbee00178d223eaac382836dba5f7 (diff) | |
| parent | 4a8066856756cc9153cfab398a9a9b277a9a5e5d (diff) | |
merge
Diffstat (limited to 'indra/newview/llflexibleobject.cpp')
| -rw-r--r-- | indra/newview/llflexibleobject.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index b7f255e052..689fa72958 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -316,11 +316,13 @@ BOOL LLVolumeImplFlexible::doIdleUpdate(LLAgent &agent, LLWorld &world, const F6 return FALSE; // (we are not initialized or updated) } - if (force_update) + bool visible = mVO->mDrawable->isVisible(); + + if (force_update && visible) { gPipeline.markRebuild(mVO->mDrawable, LLDrawable::REBUILD_POSITION, FALSE); } - else if (mVO->mDrawable->isVisible() && + else if (visible && !mVO->mDrawable->isState(LLDrawable::IN_REBUILD_Q1) && mVO->getPixelArea() > 256.f) { @@ -364,7 +366,7 @@ void LLVolumeImplFlexible::doFlexibleUpdate() LLFastTimer ftm(FTM_DO_FLEXIBLE_UPDATE); LLVolume* volume = mVO->getVolume(); LLPath *path = &volume->getPath(); - if (mSimulateRes == 0) + if (mSimulateRes == 0 && mVO->mDrawable->isVisible()) { mVO->markForUpdate(TRUE); if (!doIdleUpdate(gAgent, *LLWorld::getInstance(), 0.0)) |
