From ddb60df2634ae97ae85ea5b6021283be098efed4 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Fri, 20 May 2016 14:57:25 +0200 Subject: QQuickTextNodeEngine: early out if no document layout. As Coverity (CID 22302) points out, qobject_cast<> can return NULL; if we don't get a document layout, then we have no frame decorations to add to it. Change-Id: I2cd428456b3a3b24a28a5dd18ce948a8e95d21cb Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/quick/items/qquicktextnodeengine.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/quick/items/qquicktextnodeengine.cpp b/src/quick/items/qquicktextnodeengine.cpp index 18cb1d0083..417e2483df 100644 --- a/src/quick/items/qquicktextnodeengine.cpp +++ b/src/quick/items/qquicktextnodeengine.cpp @@ -636,9 +636,12 @@ void QQuickTextNodeEngine::addBorder(const QRectF &rect, qreal border, void QQuickTextNodeEngine::addFrameDecorations(QTextDocument *document, QTextFrame *frame) { QTextDocumentLayout *documentLayout = qobject_cast(document->documentLayout()); - QTextFrameFormat frameFormat = frame->format().toFrameFormat(); + if (Q_UNLIKELY(!documentLayout)) + return; + QTextFrameFormat frameFormat = frame->format().toFrameFormat(); QTextTable *table = qobject_cast(frame); + QRectF boundingRect = table == 0 ? documentLayout->frameBoundingRect(frame) : documentLayout->tableBoundingRect(table); -- cgit v1.2.3