summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/controls/Private/qquickrangemodel_p_p.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/controls/Private/qquickrangemodel_p_p.h b/src/controls/Private/qquickrangemodel_p_p.h
index 67f0745c0..235ba0690 100644
--- a/src/controls/Private/qquickrangemodel_p_p.h
+++ b/src/controls/Private/qquickrangemodel_p_p.h
@@ -93,7 +93,11 @@ public:
return minimum;
const qreal scale = (maximum - minimum) / posRange;
- return (pos - effectivePosAtMin()) * scale + minimum;
+ // Avoid perverse rounding glitches when at an end:
+ const qreal mid = (effectivePosAtMax() + effectivePosAtMin()) * 0.5;
+ if (pos < mid)
+ return (pos - effectivePosAtMin()) * scale + minimum;
+ return maximum - scale * (effectivePosAtMax() - pos);
}
qreal publicPosition(qreal position) const;