Browse Source

bug-fix: findFirstVisibleBlock() return invalid block when fails

A huge block as the last block may lead to failure to find first visible
block.
Le Tan 8 years ago
parent
commit
26d14f81d5
1 changed files with 5 additions and 2 deletions
  1. 5 2
      src/vedit.cpp

+ 5 - 2
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