From 4bdc0664eb2daaa3b9b85aeb634395ecfc95a557 Mon Sep 17 00:00:00 2001 From: mae <qt-info@nokia.com> Date: Wed, 27 May 2009 20:49:57 +0200 Subject: [PATCH] Small fix for parentheses matching: give the syntaxhighlighter a chance to update the parentheses information. --- src/plugins/texteditor/basetexteditor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 84275bc3483..8628b60b619 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2552,7 +2552,9 @@ void BaseTextEditor::slotCursorPositionChanged() if (extraSelections(ParenthesesMatchingSelection).isEmpty()) { d->m_parenthesesMatchingTimer->start(50); } else { - _q_matchParentheses(); + // use 0-timer, not direct call, to give the syntax highlighter a chance + // to update the parantheses information + d->m_parenthesesMatchingTimer->start(0); } } @@ -3536,6 +3538,7 @@ void BaseTextEditor::_q_matchParentheses() return; + qDebug() << "_q_matchParentheses()" << textCursor().position(); QTextCursor backwardMatch = textCursor(); QTextCursor forwardMatch = textCursor(); const TextBlockUserData::MatchType backwardMatchType = TextBlockUserData::matchCursorBackward(&backwardMatch); @@ -3545,11 +3548,13 @@ void BaseTextEditor::_q_matchParentheses() if (backwardMatchType == TextBlockUserData::NoMatch && forwardMatchType == TextBlockUserData::NoMatch) { setExtraSelections(ParenthesesMatchingSelection, extraSelections); // clear + qDebug() << "no match"; return; } int animatePosition = -1; if (backwardMatch.hasSelection()) { + qDebug() << "backward match"; QTextEdit::ExtraSelection sel; if (backwardMatchType == TextBlockUserData::Mismatch) { sel.cursor = backwardMatch; @@ -3578,6 +3583,7 @@ void BaseTextEditor::_q_matchParentheses() } if (forwardMatch.hasSelection()) { + qDebug() << "forward match"; QTextEdit::ExtraSelection sel; if (forwardMatchType == TextBlockUserData::Mismatch) { sel.cursor = forwardMatch; -- GitLab