diff --git a/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java index 4f5d61bf376e..94f68b14c8b1 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java @@ -192,23 +192,8 @@ public final class SingleConfigurationConfigurable { - quickFix.run(); - getEditor().resetFrom(fixedSettings); - }; - } - else { - resultQuickFix = quickFix; - } - myLastValidationResult = new ValidationResult(exception.getLocalizedMessage(), exception.getTitle(), resultQuickFix); - } catch (ConfigurationException e) { - myLastValidationResult = new ValidationResult(e.getLocalizedMessage(), ExecutionBundle.message("invalid.data.dialog.title"), null); + myLastValidationResult = createValidationResult(snapshot, e); } myValidationResultValid = true; @@ -216,6 +201,25 @@ public final class SingleConfigurationConfigurable { + quickFix.run(); + getEditor().resetFrom(snapshot); + }; + } + return quickFix; + } + private static void checkConfiguration(final ProgramRunner runner, final RunnerAndConfigurationSettings snapshot) throws RuntimeConfigurationException { final RunnerSettings runnerSettings = snapshot.getRunnerSettings(runner);