aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickdial.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2/qquickdial.cpp')
-rw-r--r--src/quicktemplates2/qquickdial.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
index 3932fd05..de220853 100644
--- a/src/quicktemplates2/qquickdial.cpp
+++ b/src/quicktemplates2/qquickdial.cpp
@@ -126,9 +126,15 @@ qreal QQuickDialPrivate::valueAt(qreal position) const
qreal QQuickDialPrivate::snapPosition(qreal position) const
{
- if (qFuzzyIsNull(stepSize))
+ const qreal range = to - from;
+ if (qFuzzyIsNull(range))
return position;
- return qRound(position / stepSize) * stepSize;
+
+ const qreal effectiveStep = stepSize / range;
+ if (qFuzzyIsNull(effectiveStep))
+ return position;
+
+ return qRound(position / effectiveStep) * effectiveStep;
}
qreal QQuickDialPrivate::positionAt(const QPoint &point) const