From 4dc13ab09fb42090ff4552f789b78dca16652c45 Mon Sep 17 00:00:00 2001
From: Christian Kamm <christian.d.kamm@nokia.com>
Date: Fri, 16 Sep 2011 09:50:17 +0200
Subject: [PATCH] SemanticHighlighter: Fix off-by-one in assert.

Change-Id: Ie9331d233894e49cf86605819687eeef765272df
Reviewed-on: http://codereview.qt-project.org/5067
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
---
 src/plugins/texteditor/semantichighlighter.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/plugins/texteditor/semantichighlighter.cpp b/src/plugins/texteditor/semantichighlighter.cpp
index 0e541e8f41c..ba36dc9c1a8 100644
--- a/src/plugins/texteditor/semantichighlighter.cpp
+++ b/src/plugins/texteditor/semantichighlighter.cpp
@@ -125,8 +125,13 @@ void TextEditor::SemanticHighlighter::clearExtraAdditionalFormatsUntilEnd(
     }
 
     QTextDocument *doc = highlighter->document();
-    QTC_ASSERT(lastBlockNumber + 1 < doc->blockCount(), return);
-    QTextBlock b = doc->findBlockByNumber(lastBlockNumber + 1);
+
+    const int firstBlockToClear = lastBlockNumber + 1;
+    if (firstBlockToClear == doc->blockCount())
+        return;
+    QTC_ASSERT(firstBlockToClear < doc->blockCount(), return);
+
+    QTextBlock b = doc->findBlockByNumber(firstBlockToClear);
 
     while (b.isValid()) {
         highlighter->setExtraAdditionalFormats(b, QList<QTextLayout::FormatRange>());
-- 
GitLab