LanguageClient: Don't store client settings multiple times

Change-Id: Iff6dcfef4d8f1e5cc01b48f2a4cf12f4c5927581
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Marcus Tillmanns
2024-06-10 14:02:41 +02:00
parent 3cf9f64791
commit bb5b8b40ff

View File

@@ -695,8 +695,10 @@ void LanguageClientSettings::toSettings(QtcSettings *settings,
QVariantList typedSettingsVariant; QVariantList typedSettingsVariant;
for (const QVariant &var : settings->value(typedClientsKey).toList()) { for (const QVariant &var : settings->value(typedClientsKey).toList()) {
const Store map = storeFromVariant(var); const Store map = storeFromVariant(var);
Id typeId = Id::fromSetting(map.value(typeIdKey)); const Id typeId = Id::fromSetting(map.value(typeIdKey));
if (typeId.isValid() && !clientTypes().contains(typeId)) const QString id = map.value(idKey).toString();
if (typeId.isValid() && !clientTypes().contains(typeId)
&& !Utils::anyOf(typedSettings, Utils::equal(&BaseSettings::m_id, id)))
typedSettingsVariant << var; typedSettingsVariant << var;
} }