From bb5b8b40ff676d9e9e23e62a326c5768831fa9fb Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Mon, 10 Jun 2024 14:02:41 +0200 Subject: [PATCH] LanguageClient: Don't store client settings multiple times Change-Id: Iff6dcfef4d8f1e5cc01b48f2a4cf12f4c5927581 Reviewed-by: David Schulz --- src/plugins/languageclient/languageclientsettings.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp index 4176918015c..b9db9807174 100644 --- a/src/plugins/languageclient/languageclientsettings.cpp +++ b/src/plugins/languageclient/languageclientsettings.cpp @@ -695,8 +695,10 @@ void LanguageClientSettings::toSettings(QtcSettings *settings, QVariantList typedSettingsVariant; for (const QVariant &var : settings->value(typedClientsKey).toList()) { const Store map = storeFromVariant(var); - Id typeId = Id::fromSetting(map.value(typeIdKey)); - if (typeId.isValid() && !clientTypes().contains(typeId)) + const Id typeId = Id::fromSetting(map.value(typeIdKey)); + const QString id = map.value(idKey).toString(); + if (typeId.isValid() && !clientTypes().contains(typeId) + && !Utils::anyOf(typedSettings, Utils::equal(&BaseSettings::m_id, id))) typedSettingsVariant << var; }