Prechádzať zdrojové kódy

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 rokov pred
rodič
commit
26d14f81d5
1 zmenil súbory, kde vykonal 5 pridanie a 2 odobranie
  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