aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2024-03-05 07:40:28 +0100
committerDavid Schulz <david.schulz@qt.io>2024-03-06 09:52:02 +0000
commit1c47a0a301c291b0ec450b7a141c5067d402dac4 (patch)
treeef5e8901b94b271b0cec4f114197a740472eec4e /src/plugins/texteditor
parent7b8f274b9e3956a2e8668f932ee9717f96568678 (diff)
TextEditor: Use synchronous highlighter by default
Change-Id: I796800972668d4cad9dd12aa4fcc9395febcce0f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r--src/plugins/texteditor/textdocument.cpp16
-rw-r--r--src/plugins/texteditor/textdocument.h2
2 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp
index cb421f2bf7..2636ad46e2 100644
--- a/src/plugins/texteditor/textdocument.cpp
+++ b/src/plugins/texteditor/textdocument.cpp
@@ -914,19 +914,23 @@ bool TextDocument::reload(QString *errorString, ReloadFlag flag, ChangeType type
void TextDocument::resetSyntaxHighlighter(const std::function<SyntaxHighlighter *()> &creator,
bool threaded)
{
- if (d->m_highlighterRunner)
- delete d->m_highlighterRunner;
+ delete d->m_highlighterRunner;
- static const bool envValue
- = qtcEnvironmentVariable("QTC_USE_THREADED_HIGHLIGHTER", "TRUE").toUpper()
- == QLatin1String("TRUE");
+ static const std::optional<bool> envValue = []() -> std::optional<bool> {
+ const QString key("QTC_USE_THREADED_HIGHLIGHTER");
+ if (qtcEnvironmentVariableIsSet(key)) {
+ const QString value = qtcEnvironmentVariable(key).toUpper();
+ return value != "FALSE" && value != "0";
+ }
+ return {};
+ }();
SyntaxHighlighter *highlighter = creator();
highlighter->setFontSettings(TextEditorSettings::fontSettings());
highlighter->setMimeType(mimeType());
d->m_highlighterRunner = new SyntaxHighlighterRunner(highlighter,
document(),
- threaded && envValue);
+ envValue.value_or(threaded));
}
void TextDocument::cleanWhitespace(const QTextCursor &cursor)
diff --git a/src/plugins/texteditor/textdocument.h b/src/plugins/texteditor/textdocument.h
index ad3fe262e2..5879d9e9ec 100644
--- a/src/plugins/texteditor/textdocument.h
+++ b/src/plugins/texteditor/textdocument.h
@@ -127,7 +127,7 @@ public:
QTextDocument *document() const;
using SyntaxHighLighterCreator = std::function<SyntaxHighlighter *()>;
- void resetSyntaxHighlighter(const SyntaxHighLighterCreator &creator, bool threaded = true);
+ void resetSyntaxHighlighter(const SyntaxHighLighterCreator &creator, bool threaded = false);
SyntaxHighlighterRunner *syntaxHighlighterRunner() const;
bool reload(QString *errorString, QTextCodec *codec);