summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawable.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2013-03-05 17:51:10 -0500
committerOz Linden <oz@lindenlab.com>2013-03-05 17:51:10 -0500
commitd348deb7049cbaef7c228000525c7ee5a265464c (patch)
tree810010b25bc5f0ba4511b40752f5f9ca7cb59b06 /indra/newview/lldrawable.cpp
parentf7100331ebc7913d7117501ccac86f93f4ffb0e3 (diff)
parent55b2383f51ffabf7e95595df5d576f383d458ee1 (diff)
merge changes for 3.5.0-beta2
Diffstat (limited to 'indra/newview/lldrawable.cpp')
-rw-r--r--indra/newview/lldrawable.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 59c2f15dd9..4b0d3b361d 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -577,6 +577,12 @@ F32 LLDrawable::updateXform(BOOL undamped)
mVObjp->dirtySpatialGroup();
}
}
+ else if (!isRoot() &&
+ ((dist_vec_squared(old_pos, target_pos) > 0.f)
+ || (1.f - dot(old_rot, target_rot)) > 0.f))
+ { //fix for BUG-840, MAINT-2275, MAINT-1742, MAINT-2247
+ gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE);
+ }
else if (!getVOVolume() && !isAvatar())
{
movePartition();
@@ -643,18 +649,9 @@ BOOL LLDrawable::updateMove()
return FALSE;
}
- BOOL done;
+ makeActive();
- if (isState(MOVE_UNDAMPED))
- {
- done = updateMoveUndamped();
- }
- else
- {
- makeActive();
- done = updateMoveDamped();
- }
- return done;
+ return isState(MOVE_UNDAMPED) ? updateMoveUndamped() : updateMoveDamped();
}
BOOL LLDrawable::updateMoveUndamped()