diff options
author | Robert Löhning <robert.loehning@qt.io> | 2022-03-07 20:34:05 +0100 |
---|---|---|
committer | Robert Löhning <robert.loehning@qt.io> | 2022-03-10 12:39:11 +0100 |
commit | 0031c5cb79b418b4e262e0286177b914c59107cb (patch) | |
tree | ea0f75059ca142a017e128391546631dbfc6a780 /src/widgets/styles/qstyle.cpp | |
parent | bd6d6d92b5de98e4ad423492420f8f859f381824 (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.cpp | 6 |
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; |