aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquicktimeline.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquicktimeline.cpp')
-rw-r--r--src/quick/util/qquicktimeline.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/quick/util/qquicktimeline.cpp b/src/quick/util/qquicktimeline.cpp
index a3a9220f03..f1d7e19dc2 100644
--- a/src/quick/util/qquicktimeline.cpp
+++ b/src/quick/util/qquicktimeline.cpp
@@ -49,6 +49,7 @@
#include <QCoreApplication>
#include <QEasingCurve>
#include <QTime>
+#include <QtNumeric>
QT_BEGIN_NAMESPACE
@@ -386,7 +387,7 @@ void QQuickTimeLine::set(QQuickTimeLineValue &timeLineValue, qreal value)
*/
int QQuickTimeLine::accel(QQuickTimeLineValue &timeLineValue, qreal velocity, qreal acceleration)
{
- if (acceleration == 0.0f)
+ if (qFuzzyIsNull(acceleration) || qIsNaN(acceleration))
return -1;
if ((velocity > 0.0f) == (acceleration > 0.0f))
@@ -412,7 +413,7 @@ int QQuickTimeLine::accel(QQuickTimeLineValue &timeLineValue, qreal velocity, qr
*/
int QQuickTimeLine::accel(QQuickTimeLineValue &timeLineValue, qreal velocity, qreal acceleration, qreal maxDistance)
{
- if (maxDistance == 0.0f || acceleration == 0.0f)
+ if (qFuzzyIsNull(maxDistance) || qIsNaN(maxDistance) || qFuzzyIsNull(acceleration) || qIsNaN(acceleration))
return -1;
Q_ASSERT(acceleration > 0.0f && maxDistance > 0.0f);
@@ -441,7 +442,7 @@ int QQuickTimeLine::accel(QQuickTimeLineValue &timeLineValue, qreal velocity, qr
*/
int QQuickTimeLine::accelDistance(QQuickTimeLineValue &timeLineValue, qreal velocity, qreal distance)
{
- if (distance == 0.0f || velocity == 0.0f)
+ if (qFuzzyIsNull(distance) || qIsNaN(distance) || qFuzzyIsNull(velocity) || qIsNaN(velocity))
return -1;
Q_ASSERT((distance >= 0.0f) == (velocity >= 0.0f));