diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index cf57ee39730..e60d8464687 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -36,6 +36,9 @@ #include #include +#include +#include +#include #include using namespace Utils; @@ -356,11 +359,12 @@ static QVersionNumber getClangdVersion(const FilePath &clangdFilePath) QVersionNumber ClangdSettings::clangdVersion(const FilePath &clangdFilePath) { + static QHash> versionCache; const QDateTime timeStamp = clangdFilePath.lastModified(); - const auto it = m_versionCache.find(clangdFilePath); - if (it == m_versionCache.end()) { + const auto it = versionCache.find(clangdFilePath); + if (it == versionCache.end()) { const QVersionNumber version = getClangdVersion(clangdFilePath); - m_versionCache.insert(clangdFilePath, qMakePair(timeStamp, version)); + versionCache.insert(clangdFilePath, qMakePair(timeStamp, version)); return version; } if (it->first != timeStamp) { diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index 2f3de7dd6bc..7d3ecb27fae 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -29,10 +29,7 @@ #include -#include -#include #include -#include #include #include @@ -150,7 +147,6 @@ private: void saveSettings(); Data m_data; - static inline QHash> m_versionCache; }; inline bool operator==(const ClangdSettings::Data &s1, const ClangdSettings::Data &s2)