From b2265e7dd3617a344945e57a5006b3360b85f922 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 9 Dec 2020 17:16:03 +0100 Subject: Avoid overflowing QFixed in text layout Fixes: QTBUG-89172 Change-Id: Icb78c8eeb1dbe4c5d4c6476beebafc0115a91e8c Reviewed-by: Eskil Abrahamsen Blomfeldt (cherry picked from commit 36ccbee34e89d185918a2925444dac11211e5c60) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit e071eb1302465bd2bd5873cbe407e7550a50a947) Reviewed-by: Eirik Aavitsland --- src/gui/text/qtextlayout.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index f3f0caa379..03f2acd700 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2508,6 +2508,9 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR return; } + static QRectF maxFixedRect(QPointF(-QFIXED_MAX, -QFIXED_MAX), QPointF(QFIXED_MAX, QFIXED_MAX)); + if (!maxFixedRect.contains(pos)) + return; QTextLineItemIterator iterator(eng, index, pos, selection); QFixed lineBase = line.base(); -- cgit v1.2.3