From 1688f6c4d1c33adc275e29125479db91d642a3f3 Mon Sep 17 00:00:00 2001 From: Francois Chouinard Date: Mon, 26 Jan 2009 15:41:55 +0000 Subject: [PATCH] Fix for Bug262244 --- .../dsf/mi/service/MIBreakpointsManager.java | 23 ++++++++++++------- 1 file changed, 15 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 9cf21d0b5ed..39f46f682f4 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 @@ -56,6 +56,7 @@ import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.BreakpointAddedEvent; import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.BreakpointRemovedEvent; import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.BreakpointUpdatedEvent; import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.MIBreakpointDMContext; +import org.eclipse.cdt.dsf.mi.service.MIRunControl.SuspendedEvent; import org.eclipse.cdt.dsf.mi.service.breakpoint.actions.BreakpointActionAdapter; import org.eclipse.cdt.dsf.mi.service.command.events.MIBreakpointHitEvent; import org.eclipse.cdt.dsf.mi.service.command.events.MIGDBExitEvent; @@ -1202,15 +1203,21 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo // Breakpoint actions //------------------------------------------------------------------------- - @DsfServiceEventHandler - public void eventDispatched(MIBreakpointHitEvent e) { - performBreakpointAction(e.getDMContext(), e.getNumber()); - } + @DsfServiceEventHandler + public void eventDispatched(SuspendedEvent e) { - @DsfServiceEventHandler - public void eventDispatched(MIWatchpointTriggerEvent e) { - performBreakpointAction(e.getDMContext(), e.getNumber()); - } + if (e.getMIEvent() instanceof MIBreakpointHitEvent) { + MIBreakpointHitEvent evt = (MIBreakpointHitEvent) e.getMIEvent(); + performBreakpointAction(evt.getDMContext(), evt.getNumber()); + return; + } + + if (e.getMIEvent() instanceof MIWatchpointTriggerEvent) { + MIWatchpointTriggerEvent evt = (MIWatchpointTriggerEvent) e.getMIEvent(); + performBreakpointAction(evt.getDMContext(), evt.getNumber()); + return; + } + } private void performBreakpointAction(final IDMContext context, int number) { // Identify the platform breakpoint