diff --git a/platform/execution.dashboard/src/RunDashboardManagerImpl.java b/platform/execution.dashboard/src/RunDashboardManagerImpl.java index 69c9c06703a2..2c6f36585606 100644 --- a/platform/execution.dashboard/src/RunDashboardManagerImpl.java +++ b/platform/execution.dashboard/src/RunDashboardManagerImpl.java @@ -573,7 +573,8 @@ public final class RunDashboardManagerImpl implements RunDashboardManager, Persi RunDashboardService oldService = oldServices.getFirst(); RunContentDescriptorId descriptorId = oldService.getDescriptorId(); RunContentDescriptor descriptor = descriptorId == null ? null : getDescriptorById(descriptorId, myProject); - if (descriptor != null && !settingsList.contains(oldService.getConfigurationSettings())) { + var isAcceptableType = myState.configurationTypes.contains(oldService.getConfigurationSettings().getType().getId()); + if (descriptor != null && !settingsList.contains(oldService.getConfigurationSettings()) && isAcceptableType) { if (!updateServiceSettings(myProject, result, oldServices)) { result.add(oldServices); } diff --git a/platform/execution.serviceView/src/ConfigureServicesDialog.kt b/platform/execution.serviceView/src/ConfigureServicesDialog.kt index d3ae55dbd5e2..498a861ddd0b 100644 --- a/platform/execution.serviceView/src/ConfigureServicesDialog.kt +++ b/platform/execution.serviceView/src/ConfigureServicesDialog.kt @@ -2,6 +2,7 @@ package com.intellij.platform.execution.serviceView import com.intellij.execution.ExecutionBundle +import com.intellij.execution.dashboard.RunDashboardManagerProxy import com.intellij.execution.services.ServiceViewContributor import com.intellij.execution.services.ServiceViewManager import com.intellij.execution.services.ServiceViewToolWindowDescriptor @@ -170,9 +171,7 @@ internal class ConfigureServicesDialog(private val project: Project, settings: S override fun doOKAction() { (ServiceViewManager.getInstance(project) as ServiceViewManagerImpl).setExcludedContributors(excludedServicesTree.getServices()) - ServiceViewCoroutineScopeProvider.getInstance(project).cs.launch { - ServiceViewRpc.getInstance().saveConfigurationTypes(project.projectId(), includedServicesTree.getTypes()) - } + RunDashboardManagerProxy.getInstance(project).types = includedServicesTree.getTypes() super.doOKAction() } }