diff --git a/src/libs/utils/sizedarray.h b/src/libs/utils/sizedarray.h index 1f7efef315a..65f8a38e55a 100644 --- a/src/libs/utils/sizedarray.h +++ b/src/libs/utils/sizedarray.h @@ -108,6 +108,11 @@ public: return m_size == 0; } + void fillWithZero() + { + std::array::fill(T(0)); + } + private: std::uint8_t m_size = 0; }; diff --git a/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp b/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp index ccddbc978f9..2e85c49c3cf 100644 --- a/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp +++ b/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp @@ -70,6 +70,7 @@ TextEditor::TextStyle toTextStyle(ClangBackEnd::HighlightingType type) TextEditor::TextStyles toTextStyles(ClangBackEnd::HighlightingTypes types) { TextEditor::TextStyles textStyles; + textStyles.mixinStyles.fillWithZero(); textStyles.mainStyle = toTextStyle(types.mainHighlightingType); diff --git a/src/plugins/texteditor/fontsettings.cpp b/src/plugins/texteditor/fontsettings.cpp index 5b3402e4b5a..3679e08c59e 100644 --- a/src/plugins/texteditor/fontsettings.cpp +++ b/src/plugins/texteditor/fontsettings.cpp @@ -181,12 +181,9 @@ QTextCharFormat FontSettings::toTextCharFormat(TextStyle category) const return tf; } -uint qHash(const TextStyles &textStyles) +uint qHash(TextStyles textStyles) { - uint hash = qHash(textStyles.mainStyle); - for (TextStyle mixinStyle : textStyles.mixinStyles) - hash ^= qHash(mixinStyle); - return hash; + return ::qHash(reinterpret_cast(textStyles)); } bool operator==(const TextStyles &first, const TextStyles &second) @@ -219,7 +216,7 @@ void FontSettings::addMixinStyle(QTextCharFormat &textCharFormat, }; } -QTextCharFormat FontSettings::toTextCharFormat(const TextStyles &textStyles) const +QTextCharFormat FontSettings::toTextCharFormat(TextStyles textStyles) const { auto textCharFormatIterator = m_textCharFormatCache.find(textStyles); if (textCharFormatIterator != m_textCharFormatCache.end()) diff --git a/src/plugins/texteditor/fontsettings.h b/src/plugins/texteditor/fontsettings.h index dbecc31a3e1..7c7654de4bc 100644 --- a/src/plugins/texteditor/fontsettings.h +++ b/src/plugins/texteditor/fontsettings.h @@ -66,7 +66,7 @@ public: QVector toTextCharFormats(const QVector &categories) const; QTextCharFormat toTextCharFormat(TextStyle category) const; - QTextCharFormat toTextCharFormat(const TextStyles &textStyles) const; + QTextCharFormat toTextCharFormat(TextStyles textStyles) const; QString family() const; void setFamily(const QString &family);