summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/text/qsyntaxhighlighter.cpp29
1 files changed, 4 insertions, 25 deletions
diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp
index 7baf55caea..f183e1eb20 100644
--- a/src/gui/text/qsyntaxhighlighter.cpp
+++ b/src/gui/text/qsyntaxhighlighter.cpp
@@ -119,18 +119,14 @@ void QSyntaxHighlighterPrivate::applyFormatChanges()
formatsChanged = true;
}
- QTextCharFormat emptyFormat;
-
- QTextLayout::FormatRange r;
- r.start = -1;
-
int i = 0;
while (i < formatChanges.count()) {
+ QTextLayout::FormatRange r;
- while (i < formatChanges.count() && formatChanges.at(i) == emptyFormat)
+ while (i < formatChanges.count() && formatChanges.at(i) == r.format)
++i;
- if (i >= formatChanges.count())
+ if (i == formatChanges.count())
break;
r.start = i;
@@ -139,9 +135,7 @@ void QSyntaxHighlighterPrivate::applyFormatChanges()
while (i < formatChanges.count() && formatChanges.at(i) == r.format)
++i;
- if (i >= formatChanges.count())
- break;
-
+ Q_ASSERT(i <= formatChanges.count());
r.length = i - r.start;
if (preeditAreaLength != 0) {
@@ -153,21 +147,6 @@ void QSyntaxHighlighterPrivate::applyFormatChanges()
ranges << r;
formatsChanged = true;
- r.start = -1;
- }
-
- if (r.start != -1) {
- r.length = formatChanges.count() - r.start;
-
- if (preeditAreaLength != 0) {
- if (r.start >= preeditAreaStart)
- r.start += preeditAreaLength;
- else if (r.start + r.length >= preeditAreaStart)
- r.length += preeditAreaLength;
- }
-
- ranges << r;
- formatsChanged = true;
}
if (formatsChanged) {