From aa2c1cc51a60aee9c81c6720689689c44f94ab24 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 30 Mar 2016 14:07:51 +0200 Subject: [PATCH] Fix crash caused by invalid text document layout. Task-number: QTCREATORBUG-15955 Change-Id: I917bf0cc8921fe9dd40f8f58894a5c72e80441ed Reviewed-by: Christian Stenger --- src/plugins/texteditor/texteditor.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 57b89fb5d8d..35d8222c746 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -4766,10 +4766,13 @@ void TextEditorWidgetPrivate::updateCurrentLineInScrollbar() m_highlightScrollBar->removeHighlights(Constants::SCROLL_BAR_CURRENT_LINE); if (m_highlightScrollBar->maximum() > 0) { const QTextCursor &tc = q->textCursor(); - const int lineNumberInBlock = - tc.block().layout()->lineForTextPosition(tc.positionInBlock()).lineNumber(); - m_highlightScrollBar->addHighlight(Constants::SCROLL_BAR_CURRENT_LINE, - q->textCursor().block().firstLineNumber() + lineNumberInBlock); + if (QTextLayout *layout = tc.block().layout()) { + const int lineNumberInBlock = + layout->lineForTextPosition(tc.positionInBlock()).lineNumber(); + m_highlightScrollBar->addHighlight( + Constants::SCROLL_BAR_CURRENT_LINE, + q->textCursor().block().firstLineNumber() + lineNumberInBlock); + } } } }