From bd7f0e6cddfd88396eba26f3b3848fc6448f31a5 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Wed, 19 Apr 2017 22:32:58 +0800 Subject: [PATCH] bugfix: abandon obsolete parsed highlight result when text has been changed --- src/hgmarkdownhighlighter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hgmarkdownhighlighter.cpp b/src/hgmarkdownhighlighter.cpp index f129f48c..06f5121e 100644 --- a/src/hgmarkdownhighlighter.cpp +++ b/src/hgmarkdownhighlighter.cpp @@ -414,6 +414,12 @@ void HGMarkdownHighlighter::setCodeBlockHighlights(const QList &p_uni int end = unit.m_position + unit.m_length; int startBlockNum = document->findBlock(pos).blockNumber(); int endBlockNum = document->findBlock(end).blockNumber(); + + // Text has been changed. Abandon the obsolete parsed result. + if (startBlockNum == -1 || endBlockNum >= highlights.size()) { + goto exit; + } + for (int i = startBlockNum; i <= endBlockNum; ++i) { QTextBlock block = document->findBlockByNumber(i);