diff --git a/src/plugins/cpptools/cppcodemodelsettings.cpp b/src/plugins/cpptools/cppcodemodelsettings.cpp index 5aaaa2c105a..b7ebb1ddaa0 100644 --- a/src/plugins/cpptools/cppcodemodelsettings.cpp +++ b/src/plugins/cpptools/cppcodemodelsettings.cpp @@ -118,6 +118,12 @@ void CppCodeModelSettings::fromSettings(QSettings *s) setClangCustomDiagnosticConfigs(customDiagnosticConfigsFromSettings(s)); setClangDiagnosticConfigId(clangDiagnosticConfigIdFromSettings(s)); + { // Before Qt Creator 4.8, inconsistent settings might have been written. + const ClangDiagnosticConfigsModel model(m_clangCustomDiagnosticConfigs); + if (!model.hasConfigWithId(m_clangDiagnosticConfigId)) + setClangDiagnosticConfigId(initialClangDiagnosticConfigId()); + } + const QVariant pchUsageVariant = s->value(pchUsageKey(), initialPchUsage()); setPCHUsage(static_cast(pchUsageVariant.toInt()));