From f32a83bfcf5a667a81fdd2020f119cdeec79a9f1 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 30 Sep 2011 09:04:11 +1000 Subject: Fix issue with interpolating more than one path segment backwards. Change-Id: I463010ed63d41be80db96e8306aef8caa3863ccf Reviewed-on: http://codereview.qt-project.org/5821 Reviewed-by: Qt Sanity Bot Reviewed-by: Martin Jones --- src/declarative/util/qdeclarativepath.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/declarative/util/qdeclarativepath.cpp b/src/declarative/util/qdeclarativepath.cpp index f923413e29..05d56e0c1b 100644 --- a/src/declarative/util/qdeclarativepath.cpp +++ b/src/declarative/util/qdeclarativepath.cpp @@ -608,7 +608,8 @@ QPointF QDeclarativePath::backwardsPointAt(const QPainterPath &path, const qreal Q_ASSERT(!(currElement < firstElement)); currBez = nextBezier(path, &currElement, &bezLength, true /*reverse*/); currLength = prevLength; - epc = (currLength - bezLength) / pathLength; + prevLength = currLength - bezLength; + epc = prevLength / pathLength; } prevBez.element = currElement; prevBez.bezLength = bezLength; -- cgit v1.2.3