summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/semantichighlighter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/semantichighlighter.cpp')
-rw-r--r--src/plugins/cpptools/semantichighlighter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/cpptools/semantichighlighter.cpp b/src/plugins/cpptools/semantichighlighter.cpp
index 67ce04e042..d30f4d97c5 100644
--- a/src/plugins/cpptools/semantichighlighter.cpp
+++ b/src/plugins/cpptools/semantichighlighter.cpp
@@ -210,7 +210,13 @@ void SemanticHighlighter::onHighlighterResultAvailable(int from, int to)
}
QTC_ASSERT(paren.pos != -1, continue);
paren.source = parenSource();
- parentheses.second << paren;
+
+ static const auto posCmp = [](const Parenthesis &p1, const Parenthesis &p2) {
+ return p1.pos < p2.pos;
+ };
+ const auto it = std::lower_bound(parentheses.second.begin(), parentheses.second.end(),
+ paren, posCmp);
+ parentheses.second.insert(it, paren);
}
if (parentheses.first.isValid())
TextDocumentLayout::setParentheses(parentheses.first, parentheses.second);