Fix crash caused by invalid text document layout.

Task-number: QTCREATORBUG-15955
Change-Id: I917bf0cc8921fe9dd40f8f58894a5c72e80441ed
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
David Schulz
2016-03-30 14:07:51 +02:00
parent 1b62a10a35
commit aa2c1cc51a

View File

@@ -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);
}
}
}
}