diff options
Diffstat (limited to 'launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java')
-rw-r--r-- | launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java index 27dde39df52..dea89139f50 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java @@ -113,13 +113,22 @@ public class CorefileDebuggerTab extends AbstractCDebuggerTab { initializingComboBox = false; } + public void activated(ILaunchConfigurationWorkingCopy workingCopy) { + super.activated(workingCopy); + try { + String id = workingCopy.getAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, ""); //$NON-NLS-1$ + if (getDebugConfig() == null || !getDebugConfig().getID().equals(id) || !validateDebuggerConfig(workingCopy)) { + loadDebuggerComboBox(workingCopy, id); + } + } catch (CoreException e) { + } + } + public void initializeFrom(ILaunchConfiguration config) { super.initializeFrom(config); try { String id = config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, ""); //$NON-NLS-1$ - if (getDebugConfig() == null || !getDebugConfig().getID().equals(id)) { - loadDebuggerComboBox(config, id); - } + loadDebuggerComboBox(config, id); } catch (CoreException e) { return; } @@ -165,7 +174,6 @@ public class CorefileDebuggerTab extends AbstractCDebuggerTab { return true; } } - setDebugConfig(null); return false; } |