diff options
| author | Shawn Rutledge <shawn.rutledge@qt.io> | 2023-11-23 13:18:49 -0700 |
|---|---|---|
| committer | Axel Spoerl <axel.spoerl@qt.io> | 2023-12-12 23:44:45 +0000 |
| commit | 9b93c41362155dc92d0a19a0268a8813e99de4bf (patch) | |
| tree | 75535af08bb9010a3c68c5880c2ac9a0fbf6df99 /src/quick/items/qquicktextnodeengine.cpp | |
| parent | 4077b05949442eeb2fa4d16a435d476eb00b55a7 (diff) | |
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 <axel.spoerl@qt.io>
Diffstat (limited to 'src/quick/items/qquicktextnodeengine.cpp')
| -rw-r--r-- | src/quick/items/qquicktextnodeengine.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
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<BinaryTreeNode *> *regularN BinaryTreeNode *node = m_processedNodes.data() + i; if (node->image.isNull()) { + if (node->glyphRun.isEmpty()) + continue; + BinaryTreeNodeKey key(node); QList<BinaryTreeNode *> &nodes = map[key]; |
