Partially fix 1696331. This isn't the correct fix, but it does make at least the...
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 10 Apr 2007 21:30:17 +0000 (21:30 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 10 Apr 2007 21:30:17 +0000 (21:30 +0000)
git-svn-id: http://svn.voria.com/code@453 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/src/synfig/valuenode_bline.cpp

index 83230cd..4004136 100644 (file)
@@ -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());