LanguageClient: assert on using null project for setting

Change-Id: I64532c0890210e2ccae0a25eb9abc04b72244a97
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
This commit is contained in:
David Schulz
2024-12-02 15:28:56 +01:00
parent 31023a7a4e
commit ed211f1d47

View File

@@ -1187,6 +1187,7 @@ constexpr const char disabledSettingsId[] = "LanguageClient.DisabledSettings";
ProjectSettings::ProjectSettings(ProjectExplorer::Project *project) ProjectSettings::ProjectSettings(ProjectExplorer::Project *project)
: m_project(project) : m_project(project)
{ {
QTC_ASSERT(project, return);
m_json = m_project->namedSettings(projectSettingsId).toByteArray(); m_json = m_project->namedSettings(projectSettingsId).toByteArray();
m_enabledSettings = m_project->namedSettings(enabledSettingsId).toStringList(); m_enabledSettings = m_project->namedSettings(enabledSettingsId).toStringList();
m_disabledSettings = m_project->namedSettings(disabledSettingsId).toStringList(); m_disabledSettings = m_project->namedSettings(disabledSettingsId).toStringList();
@@ -1209,6 +1210,7 @@ QByteArray ProjectSettings::json() const
void ProjectSettings::setJson(const QByteArray &json) void ProjectSettings::setJson(const QByteArray &json)
{ {
QTC_ASSERT(m_project, return);
const QJsonValue oldConfig = workspaceConfiguration(); const QJsonValue oldConfig = workspaceConfiguration();
m_json = json; m_json = json;
m_project->setNamedSettings(projectSettingsId, m_json); m_project->setNamedSettings(projectSettingsId, m_json);
@@ -1219,6 +1221,7 @@ void ProjectSettings::setJson(const QByteArray &json)
void ProjectSettings::enableSetting(const QString &id) void ProjectSettings::enableSetting(const QString &id)
{ {
QTC_ASSERT(m_project, return);
if (m_disabledSettings.removeAll(id) > 0) if (m_disabledSettings.removeAll(id) > 0)
m_project->setNamedSettings(disabledSettingsId, m_disabledSettings); m_project->setNamedSettings(disabledSettingsId, m_disabledSettings);
if (m_enabledSettings.contains(id)) if (m_enabledSettings.contains(id))
@@ -1230,6 +1233,7 @@ void ProjectSettings::enableSetting(const QString &id)
void ProjectSettings::disableSetting(const QString &id) void ProjectSettings::disableSetting(const QString &id)
{ {
QTC_ASSERT(m_project, return);
if (m_enabledSettings.removeAll(id) > 0) if (m_enabledSettings.removeAll(id) > 0)
m_project->setNamedSettings(enabledSettingsId, m_enabledSettings); m_project->setNamedSettings(enabledSettingsId, m_enabledSettings);
if (m_disabledSettings.contains(id)) if (m_disabledSettings.contains(id))
@@ -1241,6 +1245,7 @@ void ProjectSettings::disableSetting(const QString &id)
void ProjectSettings::clearOverride(const QString &id) void ProjectSettings::clearOverride(const QString &id)
{ {
QTC_ASSERT(m_project, return);
const bool changedEnabled = m_enabledSettings.removeAll(id) > 0; const bool changedEnabled = m_enabledSettings.removeAll(id) > 0;
if (changedEnabled) if (changedEnabled)
m_project->setNamedSettings(enabledSettingsId, m_enabledSettings); m_project->setNamedSettings(enabledSettingsId, m_enabledSettings);