From 0031c5cb79b418b4e262e0286177b914c59107cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Mon, 7 Mar 2022 20:34:05 +0100 Subject: QStyle: Fix cases when logicalValue is outside range Change-Id: I410c40425d6677612dbe3a40cbaa1debba998064 Reviewed-by: Volker Hilsheimer Reviewed-by: Qt CI Bot --- src/widgets/styles/qstyle.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/widgets/styles/qstyle.cpp') 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; -- cgit v1.2.3