Bug 365222 - LaunchConfigurationEditDialog does not return correct
return code when the user clicks "Continue"
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
index d99f93c..2882cf0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
@@ -70,17 +70,25 @@
return IDebugUIConstants.PLUGIN_ID + ".LAUNCH_CONFIGURATION_EDIT_DIALOG_SECTION"; //$NON-NLS-1$
}
- /**
+ /* (non-Javadoc)
* @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#buttonPressed(int)
*/
protected void buttonPressed(int buttonId) {
- int status = shouldSaveCurrentConfig();
- if(status != IDialogConstants.CANCEL_ID) {
- if(status != ID_DISCARD_BUTTON) {
- if(status == IDialogConstants.YES_ID) {
- getTabViewer().handleApplyPressed();
+ switch (buttonId) {
+ case ID_LAUNCH_BUTTON: {
+ int status = shouldSaveCurrentConfig();
+ if (status == IDialogConstants.YES_ID) {
+ okPressed();
}
+ setReturnCode(OK);
+ if (status != IDialogConstants.CANCEL_ID) {
+ close();
+ }
+ break;
+ }
+ case ID_CANCEL_BUTTON: {
cancelPressed();
+ break;
}
}
}