diff -urN MartinRJ-bug-840-c097655f0288/indra/newview/lldrawable.cpp MartinRJ-bug-840-c097655f0288-patched/indra/newview/lldrawable.cpp --- MartinRJ-bug-840-c097655f0288/indra/newview/lldrawable.cpp 2013-02-16 20:41:36.000000000 +0100 +++ MartinRJ-bug-840-c097655f0288-patched/indra/newview/lldrawable.cpp 2013-02-17 00:45:28.000000000 +0100 @@ -558,9 +558,7 @@ //dist_squared += dist_vec_squared(old_scale, target_scale); } - LLVector3 vec = mCurrentScale-target_scale; - - if (vec*vec > MIN_INTERPOLATE_DISTANCE_SQUARED) + if (old_scale != target_scale) { //scale change requires immediate rebuild mCurrentScale = target_scale; gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE); @@ -577,12 +575,7 @@ mVObjp->dirtySpatialGroup(); } } - else if (!isRoot() && - ( - dist_vec_squared(old_pos, target_pos) > 0.f - || - (1.f - dot(old_rot, target_rot)) * 10.f > 0.f - )) + else if (!isRoot() && (old_pos != target_pos || target_rot != old_rot)) { //fix for BUG-860, MAINT-2275, MAINT-1742, MAINT-2247 gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE); }