From e16fb89fb8c3bd3394a0d0ca6ddef1daec392f66 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Tue, 23 Jan 2024 14:40:13 +0100 Subject: [PATCH] Call updateHighlighting at most once when definitionChanged Instead of using a signal connection here, call the function directly. This is slightly more efficient, but - more importantly - ensures we don't reconnect this signal multiple times, once every time we call HighlightedText::setText. --- src/models/highlightedtext.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/models/highlightedtext.cpp b/src/models/highlightedtext.cpp index 2a20253c..9d03747b 100644 --- a/src/models/highlightedtext.cpp +++ b/src/models/highlightedtext.cpp @@ -263,8 +263,6 @@ void HighlightedText::setText(const QStringList& text) return HighlightedLine {m_highlighter.get(), text}; }); - connect(this, &HighlightedText::definitionChanged, this, &HighlightedText::updateHighlighting); - m_cleanedLines.reserve(text.size()); std::transform(text.cbegin(), text.cend(), std::back_inserter(m_cleanedLines), Util::removeAnsi); } @@ -275,6 +273,7 @@ void HighlightedText::setDefinition(const KSyntaxHighlighting::Definition& defin m_highlighter->setHighlightingDefinition(definition); #if KFSyntaxHighlighting_FOUND emit definitionChanged(definition.name()); + updateHighlighting(); #endif }