From 9c726ed28711c19e65499665ca240e1f9d5004a0 Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Fri, 15 Nov 2024 08:45:46 +0100 Subject: [PATCH] QProgressBar: Prevent division by zero Prevent division, if totalSteps is zero. This amends 913b98d4120b56487a14eb96b5e5252fdd939603. Task-number: QTBUG-45048 Change-Id: I1456f8c2f81becaf9b15a2d3ba80d01974a45b25 Reviewed-by: Volker Hilsheimer (cherry picked from commit 95ee3910111b5ac3e083a05c79125f128e247883) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qprogressbar.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index c685ef2b634..a905db61fd7 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -118,8 +118,9 @@ bool QProgressBarPrivate::repaintRequired() const const int totalSteps = maximum - minimum; - const int currentPercentage = (value - minimum) * 100 / totalSteps; - const int lastPaintedPercentage = (lastPaintedValue - minimum) * 100 / totalSteps; + const int currentPercentage = totalSteps ? (value - minimum) * 100 / totalSteps : 0; + const int lastPaintedPercentage = totalSteps ? (lastPaintedValue - minimum) * 100 / totalSteps + : 0; const int percentageChangeConstant = 1; const bool percentageChanged = (qAbs(currentPercentage - lastPaintedPercentage) >= percentageChangeConstant);