SyntaxHighlighter: Remove using global fontSettings

Currently, default font settings are set inside the highlighter
runner after creating a highlighter. It prevents to call
TextEditorSettings::fontSettings() from non-main threads.

Change-Id: I0c806f0f586c67749cb2964bebdf2bf3c58a5302
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Artem Sokolovskii
2023-12-13 14:52:44 +01:00
parent 0c9f5c99e7
commit 3208dc92d3
3 changed files with 14 additions and 10 deletions

View File

@@ -27,9 +27,7 @@ class SyntaxHighlighterPrivate
SyntaxHighlighter *q_ptr = nullptr;
Q_DECLARE_PUBLIC(SyntaxHighlighter)
public:
SyntaxHighlighterPrivate()
: SyntaxHighlighterPrivate(TextEditorSettings::fontSettings())
{ }
SyntaxHighlighterPrivate() = default;
SyntaxHighlighterPrivate(const FontSettings &fontSettings)
{
@@ -881,7 +879,7 @@ void SyntaxHighlighter::setTextFormatCategories(const QList<std::pair<int, TextS
d->formatCategories = categories;
const int maxCategory = Utils::maxElementOr(categories, {-1, C_TEXT}).first;
d->formats = QList<QTextCharFormat>(maxCategory + 1);
d->updateFormats(TextEditorSettings::fontSettings());
d->updateFormats(d->fontSettings);
}
QTextCharFormat SyntaxHighlighter::formatForCategory(int category) const
@@ -925,4 +923,3 @@ void SyntaxHighlighterPrivate::updateFormats(const FontSettings &fontSettings)
}
} // namespace TextEditor