From 6894cd0b2ee5c788db407435f947d0128bc54c98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Mon, 23 Nov 2009 15:15:56 +0100 Subject: Fixed a potential issue with automatic brace matching When encountering a line that hasn't been highlighted yet, we need to abort the optimization for changing brace depth. Done with Roberto Raggi and mae. --- src/plugins/cppeditor/cpphighlighter.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp index b2db7a8e42..ebc670db3e 100644 --- a/src/plugins/cppeditor/cpphighlighter.cpp +++ b/src/plugins/cppeditor/cpphighlighter.cpp @@ -48,8 +48,6 @@ CppHighlighter::CppHighlighter(QTextDocument *document) : void CppHighlighter::highlightBlock(const QString &text) { - QTextCharFormat emptyFormat; - const int previousState = previousBlockState(); int state = 0, initialBraceDepth = 0; if (previousState != -1) { @@ -225,7 +223,7 @@ void CppHighlighter::highlightBlock(const QString &text) if (oldState == tokenize.state() && oldBraceDepth != braceDepth) { int delta = braceDepth - oldBraceDepth; QTextBlock block = currentBlock().next(); - while (block.isValid()) { + while (block.isValid() && block.userState() != -1) { TextEditDocumentLayout::changeBraceDepth(block, delta); block = block.next(); } -- cgit v1.2.1