diff options
author | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2024-01-08 12:33:38 +0100 |
---|---|---|
committer | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2024-01-09 14:17:57 +0000 |
commit | 03bce22663c590c5ace747e4fd2d20ad60558fa5 (patch) | |
tree | 806fb5f73784aa9754bf26b6c4d49a15c11761b4 /src/plugins/texteditor/syntaxhighlighter.cpp | |
parent | 0618df9ea28a6bd0d162738ee97c1253d6e4320c (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.cpp | 6 |
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); |