From 2d74c58a5aaf73e95fa11e83b7d5598b4b976f72 Mon Sep 17 00:00:00 2001 From: dooglus Date: Tue, 10 Apr 2007 21:30:17 +0000 Subject: [PATCH] Partially fix 1696331. This isn't the correct fix, but it does make at least the test case in the bug report work a lot better. git-svn-id: http://svn.voria.com/code@453 1f10aa63-cdf2-0310-b900-c93c546f37ac --- synfig-core/trunk/src/synfig/valuenode_bline.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/synfig-core/trunk/src/synfig/valuenode_bline.cpp b/synfig-core/trunk/src/synfig/valuenode_bline.cpp index 83230cd..4004136 100644 --- a/synfig-core/trunk/src/synfig/valuenode_bline.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_bline.cpp @@ -511,6 +511,13 @@ ValueNode_BLine::operator()(Time t)const float origin=next.get_origin()-curr.get_origin(); next_tangent_scalar=(1.0f-origin)*amount+origin; } + else + { + //! \todo this isn't quite right; we should handle looped blines identically no matter where the loop happens + //! and we currently don't. this at least makes it a lot better than it was before + float origin=end.get_origin()-curr.get_origin(); + next_tangent_scalar=(1.0f-origin)*amount+origin; + } next_scale=next_tangent_scalar; //ret.set_vertex((curr.get_vertex()-ret.get_vertex())*amount+ret.get_vertex()); -- 2.7.4