aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/syntaxhighlighter.cpp
diff options
context:
space:
mode:
authorArtem Sokolovskii <artem.sokolovskii@qt.io>2024-01-08 12:33:38 +0100
committerArtem Sokolovskii <artem.sokolovskii@qt.io>2024-01-09 14:17:57 +0000
commit03bce22663c590c5ace747e4fd2d20ad60558fa5 (patch)
tree806fb5f73784aa9754bf26b6c4d49a15c11761b4 /src/plugins/texteditor/syntaxhighlighter.cpp
parent0618df9ea28a6bd0d162738ee97c1253d6e4320c (diff)
SyntaxHighlighter: Fix leaking
Change-Id: Icd9e6cb18facbcb28692db114b952e96a66e2836 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/texteditor/syntaxhighlighter.cpp')
-rw-r--r--src/plugins/texteditor/syntaxhighlighter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/texteditor/syntaxhighlighter.cpp b/src/plugins/texteditor/syntaxhighlighter.cpp
index e37b0b104b..5542f4d755 100644
--- a/src/plugins/texteditor/syntaxhighlighter.cpp
+++ b/src/plugins/texteditor/syntaxhighlighter.cpp
@@ -9,8 +9,9 @@
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
-#include <QTextDocument>
#include <QPointer>
+#include <QTextDocument>
+#include <QThread>
#include <cmath>
@@ -197,6 +198,9 @@ void SyntaxHighlighterPrivate::reformatBlocks(int from, int charsRemoved, int ch
QList<SyntaxHighlighter::Result> vecRes;
while (block.isValid() && (block.position() < endPosition || forceHighlightOfNextBlock)) {
+ if (QThread::currentThread()->isInterruptionRequested())
+ break;
+
const int stateBeforeHighlight = block.userState();
reformatBlock(block, from, charsRemoved, charsAdded);