diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-11-02 20:00:38 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-11-03 10:37:34 +0000 |
commit | fe6f52238ae1495c975b0c170a6762597e660d78 (patch) | |
tree | 6d522bb4b5b9183d9a71a3b8f33b08bda9fe140d /src | |
parent | a2d1f1ad14ca5e1123abe07329a28500ce71678d (diff) |
QQuickSlider: migitate value rounding errors
Task-number: QTBUG-64065
Change-Id: I7182cf24197250c927c8cc5227356e835e55a130
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quicktemplates2/qquickslider.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp index 27b4a981..c5a8eb1b 100644 --- a/src/quicktemplates2/qquickslider.cpp +++ b/src/quicktemplates2/qquickslider.cpp @@ -540,7 +540,10 @@ void QQuickSlider::setHandle(QQuickItem *handle) qreal QQuickSlider::valueAt(qreal position) const { Q_D(const QQuickSlider); - return d->from + (d->to - d->from) * position; + const qreal value = d->from + (d->to - d->from) * position; + if (qFuzzyIsNull(d->stepSize)) + return value; + return qRound(value / d->stepSize) * d->stepSize; } /*! |