diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form
index b8fae45b17b4..3ada1e79f2e6 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form
+++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form
@@ -1,6 +1,6 @@
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java
index 98a0b1e05fc9..c50dc64727b5 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java
+++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java
@@ -13,6 +13,7 @@ import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.util.Disposer;
import com.intellij.ui.HideableDecorator;
+import com.intellij.ui.components.JBCheckBox;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -30,6 +31,7 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor> tasks = ContainerUtil.copyList(myBeforeRunStepsPanel.getTasks());
+ RunnerAndConfigurationSettings settingsToApply = null;
if (isSnapshot) {
runConfiguration.setBeforeRunTasks(tasks);
}
else {
+ RunManagerImpl runManager = settings.getManager();
runManager.setBeforeRunTasks(runConfiguration, tasks);
+ settingsToApply = runManager.getSettings(runConfiguration);
}
- RunnerAndConfigurationSettings runManagerSettings = runManager.getSettings(runConfiguration);
- if (runManagerSettings != null) {
- runManagerSettings.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun());
- runManagerSettings.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun());
+ if (settingsToApply == null) {
+ settingsToApply = settings;
}
- else {
- settings.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun());
- settings.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun());
+
+ settingsToApply.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun());
+ settingsToApply.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun());
+ if (myIsAllowRunningInParallelCheckBox.isVisible()) {
+ settings.getConfiguration().setAllowRunningInParallel(myIsAllowRunningInParallelCheckBox.isSelected());
}
}
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt
index 5445e02cc7d2..d091af40c3e5 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt
+++ b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt
@@ -184,18 +184,13 @@ class RunnerAndConfigurationSettingsImpl @JvmOverloads constructor(val manager:
}
wasSingletonSpecifiedExplicitly = false
- if (isTemplate) {
+ val singletonStr = element.getAttributeValue(SINGLETON)
+ if (singletonStr.isNullOrEmpty()) {
configuration.isAllowRunningInParallel = factory.singletonPolicy.isAllowRunningInParallel
}
else {
- val singletonStr = element.getAttributeValue(SINGLETON)
- if (singletonStr.isNullOrEmpty()) {
- configuration.isAllowRunningInParallel = factory.singletonPolicy.isAllowRunningInParallel
- }
- else {
- wasSingletonSpecifiedExplicitly = true
- configuration.isAllowRunningInParallel = !singletonStr!!.toBoolean()
- }
+ wasSingletonSpecifiedExplicitly = true
+ configuration.isAllowRunningInParallel = !singletonStr!!.toBoolean()
}
_configuration = configuration