aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickpath.cpp
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2012-03-22 14:07:28 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-23 05:19:35 +0100
commitb63ce68f316c91b0a3107d3d20e160628f5cefef (patch)
tree89aaa6345d595097a4975e4455a7dd65e02ed1be /src/quick/util/qquickpath.cpp
parentc913351c9d6e3181cdddcc851e9d80cd7689fe93 (diff)
Fix crash issue for path animation and path interpulator
When set progress value out of [0,1], path animation and path interpulator should make sure the value be modified in the valid value range, otherwise the QQuickPath::backwardsPointAt() will crash. Task-number: QTBUG-24308 Change-Id: Icd6e9165c9f844ddb8ec84c229eac4db5246a749 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/util/qquickpath.cpp')
-rw-r--r--src/quick/util/qquickpath.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/util/qquickpath.cpp b/src/quick/util/qquickpath.cpp
index adf4242cdc..8dadab620a 100644
--- a/src/quick/util/qquickpath.cpp
+++ b/src/quick/util/qquickpath.cpp
@@ -527,6 +527,8 @@ QPointF QQuickPath::sequentialPointAt(qreal p, qreal *angle) const
QPointF QQuickPath::sequentialPointAt(const QPainterPath &path, const qreal &pathLength, const QList<AttributePoint> &attributePoints, QQuickCachedBezier &prevBez, qreal p, qreal *angle)
{
+ Q_ASSERT(p >= 0.0 && p <= 1.0);
+
if (!prevBez.isValid)
return p > .5 ? backwardsPointAt(path, pathLength, attributePoints, prevBez, p, angle) :
forwardsPointAt(path, pathLength, attributePoints, prevBez, p, angle);