forked from qt-creator/qt-creator
Clang: Fix reading inconsistent settings
The diagnostic id might not match any diagnostic configuration in the settings as Qt Creator prior version 4.8 could have written it inconsistently. We need to correct this case. Task-number: QTCREATORBUG-21273 Change-Id: Ic9e21f70bca94da6d9afb30f0b2bfd5024d16fdd Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -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<PCHUsage>(pchUsageVariant.toInt()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user