CppTools: Use unshared object for CppCodeModelSettings

There's nothing shared here, only ever one copy. Ideally, this
should be const outside CppToolsPlugin, but some settings
are modified directly.

Change-Id: I775b9151a244b3cc44d28bc992a041c42d234a18
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-02-03 11:13:27 +01:00
parent 85d9756c00
commit 36f23df6c3
10 changed files with 22 additions and 25 deletions

View File

@@ -103,7 +103,7 @@ ClangModelManagerSupport::ClangModelManagerSupport()
connect(sessionManager, &ProjectExplorer::SessionManager::aboutToRemoveProject,
this, &ClangModelManagerSupport::onAboutToRemoveProject);
CppTools::CppCodeModelSettings *settings = CppTools::codeModelSettings().data();
CppTools::CppCodeModelSettings *settings = CppTools::codeModelSettings();
connect(settings, &CppTools::CppCodeModelSettings::clangDiagnosticConfigsInvalidated,
this, &ClangModelManagerSupport::onDiagnosticConfigsInvalidated);
}

View File

@@ -88,7 +88,7 @@ ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project
connect(&m_projectSettings, &ClangProjectSettings::changed,
this, &ClangProjectSettingsWidget::syncWidgets);
connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed,
connect(CppTools::codeModelSettings(), &CppTools::CppCodeModelSettings::changed,
this, &ClangProjectSettingsWidget::syncOtherWidgetsToComboBox);
syncWidgets();

View File

@@ -127,8 +127,8 @@ void disableDiagnosticInConfig(ClangDiagnosticConfig &config,
}
}
ClangDiagnosticConfig diagnosticConfig(ClangProjectSettings &projectSettings,
CppCodeModelSettings &globalSettings)
ClangDiagnosticConfig diagnosticConfig(const ClangProjectSettings &projectSettings,
const CppCodeModelSettings &globalSettings)
{
ProjectExplorer::Project *project = projectForCurrentEditor();
QTC_ASSERT(project, return {});
@@ -152,7 +152,7 @@ bool isDiagnosticConfigChangable(ProjectExplorer::Project *project,
ClangProjectSettings &projectSettings = ClangModelManagerSupport::instance()->projectSettings(
project);
const QSharedPointer<CppCodeModelSettings> globalSettings = codeModelSettings();
const CppCodeModelSettings *globalSettings = codeModelSettings();
const ClangDiagnosticConfig config = diagnosticConfig(projectSettings, *globalSettings);
if (config.clangTidyMode() == ClangDiagnosticConfig::TidyMode::UseConfigFile
@@ -170,7 +170,7 @@ void disableDiagnosticInCurrentProjectConfig(const ClangBackEnd::DiagnosticConta
// Get settings
ClangProjectSettings &projectSettings = ClangModelManagerSupport::instance()->projectSettings(
project);
const QSharedPointer<CppCodeModelSettings> globalSettings = codeModelSettings();
CppCodeModelSettings *globalSettings = codeModelSettings();
// Get config
ClangDiagnosticConfig config = diagnosticConfig(projectSettings, *globalSettings);