From ba08031783a1aebc4559351454e3de1a9629b37a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 28 Feb 2014 12:09:17 +1100 Subject: Fix T38817: FCurve autoclamp error Animating large values with auto handles didn't work well, (large variations on the Y axis would shrink handles). --- source/blender/blenkernel/intern/curve.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 01ddbc60b50..0d06313a6ef 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -2961,7 +2961,13 @@ static void calchandleNurb_intern(BezTriple *bezt, BezTriple *prev, BezTriple *n tvec[0] = dvec_b[0] / len_b + dvec_a[0] / len_a; tvec[1] = dvec_b[1] / len_b + dvec_a[1] / len_a; tvec[2] = dvec_b[2] / len_b + dvec_a[2] / len_a; - len = len_v3(tvec) * 2.5614f; + if (mode != 0) { + len = tvec[0]; + } + else { + len = len_v3(tvec); + } + len *= 2.5614f; if (len != 0.0f) { bool leftviolate = false, rightviolate = false; /* for mode==2 */ -- cgit v1.2.3