summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-11-23 15:15:56 +0100
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-11-23 15:18:09 +0100
commit6894cd0b2ee5c788db407435f947d0128bc54c98 (patch)
tree0bd388dcbd4cd0e537b1a2527619ac7f7cd4ba07
parent40bc1ac07bbb3572198818718240f608940d4fcd (diff)
downloadqt-creator-6894cd0b2ee5c788db407435f947d0128bc54c98.tar.gz
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.
-rw-r--r--src/plugins/cppeditor/cpphighlighter.cpp4
1 files changed, 1 insertions, 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();
}