diff options
Diffstat (limited to 'indra/newview/lldrawable.cpp')
| -rw-r--r-- | indra/newview/lldrawable.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index da9378ad12..18123e07a8 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -664,10 +664,15 @@ F32 LLDrawable::updateXform(bool undamped) // snap to final position (only if no target omega is applied) dist_squared = 0.0f; //set target scale here, because of dist_squared = 0.0f remove object from move list - mCurrentScale = target_scale; - - if (getVOVolume() && !isRoot()) - { //child prim snapping to some position, needs a rebuild + if (mCurrentScale != target_scale) + { + mCurrentScale = target_scale; + // Final scale change needs a rebuild + gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION); + } + else if (getVOVolume() && !isRoot()) + { + //child prim snapping to some position, needs a rebuild gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION); } } |
