diff options
Diffstat (limited to 'dsf-gdb')
2 files changed, 5 insertions, 8 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java index 58c4586481f..cdebdd9a1ee 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java @@ -1176,22 +1176,18 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo @DsfServiceEventHandler public void eventDispatched(MIBreakpointHitEvent e) { - performBreakpointAction(e.getNumber()); + performBreakpointAction(e.getDMContext(), e.getNumber()); } @DsfServiceEventHandler public void eventDispatched(MIWatchpointTriggerEvent e) { - performBreakpointAction(e.getNumber()); + performBreakpointAction(e.getDMContext(), e.getNumber()); } - private void performBreakpointAction(int number) { + private void performBreakpointAction(final IDMContext context, int number) { // Identify the platform breakpoint final ICBreakpoint breakpoint = findPlatformBreakpoint(number); - // FIXME: (Bug228703) Temporary hack to have a context - Object[] contexts = fTargetBPs.keySet().toArray(); - final IBreakpointsTargetDMContext context = (IBreakpointsTargetDMContext) contexts[0]; - // Perform the actions asynchronously (otherwise we can have a deadlock...) new Job("Breakpoint action") { //$NON-NLS-1$ { setSystem(true); } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/breakpoint/actions/MILogActionEnabler.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/breakpoint/actions/MILogActionEnabler.java index 1caac64543e..989310f65a7 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/breakpoint/actions/MILogActionEnabler.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/breakpoint/actions/MILogActionEnabler.java @@ -17,6 +17,7 @@ import org.eclipse.cdt.debug.core.breakpointactions.ILogActionEnabler; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.Query; +import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IExpressions; import org.eclipse.cdt.dsf.debug.service.IFormattedValues; @@ -35,7 +36,7 @@ public class MILogActionEnabler implements ILogActionEnabler { public MILogActionEnabler(DsfExecutor executor, DsfServicesTracker serviceTracker, IDMContext context) { fExecutor = executor; fServiceTracker = serviceTracker; - fContext = (IBreakpointsTargetDMContext) context; + fContext = DMContexts.getAncestorOfType(context, IBreakpointsTargetDMContext.class); } public String evaluateExpression(final String expression) throws Exception { |