diff options
author | Gabriel de Dietrich <gabriel.dedietrich@qt.io> | 2018-01-15 18:03:36 -0800 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@qt.io> | 2018-01-22 20:07:46 +0000 |
commit | 0236e3ab94508b700a11ab83fab7bbd39ee651bf (patch) | |
tree | c17b02cbc2fcf8287c92379708877827aa6d2061 /src/widgets/styles/qstylesheetstyle.cpp | |
parent | 631f68c97280436b4d241865d9a1d33fc9444691 (diff) |
QStyleSheetsStyle: Avoid possible division by zero
Change-Id: I5a7588c07106227e2a8b5e1f180230ef5b0342d1
Task-number: QTBUG-65228
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/widgets/styles/qstylesheetstyle.cpp')
-rw-r--r-- | src/widgets/styles/qstylesheetstyle.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 8ff8ab65a6..f70313d49e 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -3971,10 +3971,11 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q x += reverse ? -chunkWidth : chunkWidth; --chunkCount; }; - } else { + } else if (chunkWidth > 0) { + const int chunkCount = ceil(qreal(fillWidth)/chunkWidth); int x = reverse ? r.left() + r.width() - chunkWidth : r.x(); - for (int i = 0; i < ceil(qreal(fillWidth)/chunkWidth); ++i) { + for (int i = 0; i < chunkCount; ++i) { r.setRect(x, rect.y(), chunkWidth, rect.height()); r = m.mapRect(QRectF(r)).toRect(); subRule.drawRule(p, r); |