summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qstyle.cpp
diff options
context:
space:
mode:
authorRobert Löhning <robert.loehning@qt.io>2022-03-07 20:34:05 +0100
committerRobert Löhning <robert.loehning@qt.io>2022-03-10 12:39:11 +0100
commit0031c5cb79b418b4e262e0286177b914c59107cb (patch)
treeea0f75059ca142a017e128391546631dbfc6a780 /src/widgets/styles/qstyle.cpp
parentbd6d6d92b5de98e4ad423492420f8f859f381824 (diff)
QStyle: Fix cases when logicalValue is outside range
Change-Id: I410c40425d6677612dbe3a40cbaa1debba998064 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/widgets/styles/qstyle.cpp')
-rw-r--r--src/widgets/styles/qstyle.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/styles/qstyle.cpp b/src/widgets/styles/qstyle.cpp
index 827f51a7d9..799056e995 100644
--- a/src/widgets/styles/qstyle.cpp
+++ b/src/widgets/styles/qstyle.cpp
@@ -2257,10 +2257,12 @@ Qt::Alignment QStyle::visualAlignment(Qt::LayoutDirection direction, Qt::Alignme
int QStyle::sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown)
{
- if (span <= 0 || logicalValue < min || max <= min)
+ if (span <= 0 || max <= min)
return 0;
+ if (logicalValue < min)
+ return upsideDown ? span : 0;
if (logicalValue > max)
- return upsideDown ? span : min;
+ return upsideDown ? 0 : span;
const uint range = qint64(max) - min;
const uint p = upsideDown ? qint64(max) - logicalValue : qint64(logicalValue) - min;