diff options
author | John Cortell | 2010-03-11 00:22:04 +0000 |
---|---|---|
committer | John Cortell | 2010-03-11 00:22:04 +0000 |
commit | 194112317879d4d0d4ad7f388774702938219ea7 (patch) | |
tree | 2775d35774e9b1db6f4b3a714a7d2dee12e4fc79 /debug/org.eclipse.cdt.debug.mi.ui | |
parent | c29c05bc25a7d31030ed47e7d16fc61103f0f012 (diff) | |
download | org.eclipse.cdt-194112317879d4d0d4ad7f388774702938219ea7.tar.gz org.eclipse.cdt-194112317879d4d0d4ad7f388774702938219ea7.tar.xz org.eclipse.cdt-194112317879d4d0d4ad7f388774702938219ea7.zip |
[304380] Line breakpoints are set with a simple file namein Cygwin session; fails to support same named files
Diffstat (limited to 'debug/org.eclipse.cdt.debug.mi.ui')
-rw-r--r-- | debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java index 109547ac2ff..18cd8cc45b6 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java +++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java @@ -59,6 +59,8 @@ public class GDBDebuggerPage extends AbstractCDebuggerPage implements Observer { private IMILaunchConfigurationComponent fSolibBlock; private boolean fIsInitializing = false; + + private Button fBreakpointsFullPath; public void createControl( Composite parent ) { Composite comp = new Composite( parent, SWT.NONE ); @@ -124,6 +126,14 @@ public class GDBDebuggerPage extends AbstractCDebuggerPage implements Observer { } } fProtocolCombo.select( index ); + + boolean useFullPath = IMILaunchConfigurationConstants.DEBUGGER_FULLPATH_BREAKPOINTS_DEFAULT; + try { + useFullPath = configuration.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_FULLPATH_BREAKPOINTS, useFullPath); + } + catch (CoreException e) {} + fBreakpointsFullPath.setSelection(useFullPath); + setInitializing( false ); } @@ -139,6 +149,7 @@ public class GDBDebuggerPage extends AbstractCDebuggerPage implements Observer { str = "mi"; //$NON-NLS-1$ } configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_PROTOCOL, str ); + configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_FULLPATH_BREAKPOINTS, fBreakpointsFullPath.getSelection() ); if ( fSolibBlock != null ) fSolibBlock.performApply( configuration ); } @@ -270,7 +281,13 @@ public class GDBDebuggerPage extends AbstractCDebuggerPage implements Observer { gd.horizontalSpan = 3; gd.widthHint = 200; label.setLayoutData( gd ); + createProtocolCombo( subComp ); + + createBreakpointFullPathName(subComp); + GridData gd2 = new GridData(); + gd2.horizontalSpan = 3; + fBreakpointsFullPath.setLayoutData(gd2); } public void createSolibTab( TabFolder tabFolder ) { @@ -331,4 +348,18 @@ public class GDBDebuggerPage extends AbstractCDebuggerPage implements Observer { } } ); } + + protected void createBreakpointFullPathName( Composite parent ) { + fBreakpointsFullPath = createCheckButton( parent, MIUIMessages.getString( "StandardGDBDebuggerPage.14" ) ); //$NON-NLS-1$ + fBreakpointsFullPath.addSelectionListener( new SelectionListener() { + public void widgetDefaultSelected( SelectionEvent e ) { + if ( !isInitializing() ) + updateLaunchConfigurationDialog(); + } + public void widgetSelected( SelectionEvent e ) { + if ( !isInitializing() ) + updateLaunchConfigurationDialog(); + } + } ); + } } |