From 9b93c41362155dc92d0a19a0268a8813e99de4bf Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Thu, 23 Nov 2023 13:18:49 -0700 Subject: Avoid adding empty BinaryTreeNodes during text processing A crash is possible in calculateBoudingRect() (called from QSGSoftwareGlyphNode::setGlyphs()) if QRawFont has a null font engine. This seems to coincide with empty glyph runs; and anyway it seems useless to keep nodes corresponding to empty glyph runs. Pick-to: 6.7 Change-Id: I1c68e472fe75ab9a8bd63c74cb51f81c642c4203 Reviewed-by: Axel Spoerl --- src/quick/items/qquicktextnodeengine.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/quick/items/qquicktextnodeengine.cpp') diff --git a/src/quick/items/qquicktextnodeengine.cpp b/src/quick/items/qquicktextnodeengine.cpp index 9f43bec2a0..1e437a126d 100644 --- a/src/quick/items/qquicktextnodeengine.cpp +++ b/src/quick/items/qquicktextnodeengine.cpp @@ -694,6 +694,9 @@ void QQuickTextNodeEngine::mergeProcessedNodes(QList *regularN BinaryTreeNode *node = m_processedNodes.data() + i; if (node->image.isNull()) { + if (node->glyphRun.isEmpty()) + continue; + BinaryTreeNodeKey key(node); QList &nodes = map[key]; -- cgit v1.2.3