From 26d14f81d50ae4784a925120e32a20b82e6d33f4 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sat, 16 Sep 2017 15:07:31 +0800 Subject: [PATCH] bug-fix: findFirstVisibleBlock() return invalid block when fails A huge block as the last block may lead to failure to find first visible block. --- src/vedit.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vedit.cpp b/src/vedit.cpp index 3199b672..720e21d1 100644 --- a/src/vedit.cpp +++ b/src/vedit.cpp @@ -1021,6 +1021,10 @@ void VEdit::lineNumberAreaPaintEvent(QPaintEvent *p_event) QAbstractTextDocumentLayout *layout = document()->documentLayout(); QTextBlock block = firstVisibleBlock(); + if (!block.isValid()) { + return; + } + int blockNumber = block.blockNumber(); int offsetY = contentOffsetY(); QRectF rect = layout->blockBoundingRect(block); @@ -1196,8 +1200,7 @@ QTextBlock VEdit::firstVisibleBlock() block = block.next(); } - Q_ASSERT(false); - return doc->begin(); + return QTextBlock(); } int LineNumberArea::calculateWidth() const