aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-11-02 20:00:38 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2017-11-03 10:37:34 +0000
commitfe6f52238ae1495c975b0c170a6762597e660d78 (patch)
tree6d522bb4b5b9183d9a71a3b8f33b08bda9fe140d /src
parenta2d1f1ad14ca5e1123abe07329a28500ce71678d (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.cpp5
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;
}
/*!