From 146d6d2d78363b5c77387b6e7de5c4b6234b9f04 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Mon, 17 Jan 2011 16:05:13 +0000 Subject: [PATCH] Bug 332605: MIBreakpointsManager convertToTargetBreakpoint didn't convert the breakpoint type attribute --- .../cdt/dsf/mi/service/MIBreakpointsManager.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 c7e9a25de56..7a380fe0ad1 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 @@ -30,6 +30,7 @@ import org.eclipse.cdt.debug.core.breakpointactions.BreakpointActionManager; import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint; import org.eclipse.cdt.debug.core.model.ICBreakpoint; import org.eclipse.cdt.debug.core.model.ICBreakpointExtension; +import org.eclipse.cdt.debug.core.model.ICBreakpointType; import org.eclipse.cdt.debug.core.model.ICEventBreakpoint; import org.eclipse.cdt.debug.core.model.ICLineBreakpoint; import org.eclipse.cdt.debug.core.model.ICTracepoint; @@ -1742,6 +1743,17 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo properties.put(MIBreakpoints.BREAKPOINT_TYPE, MIBreakpoints.TRACEPOINT); properties.put(MIBreakpoints.PASS_COUNT, attributes.get(ICTracepoint.PASS_COUNT)); } + + // checks for the breakpoint type, and adds the hardware/temporary flags + Object breakpointType = attributes.get(ICBreakpointType.TYPE); + if(breakpointType != null) { + if(breakpointType instanceof Integer) { + boolean isHardware = ((Integer) breakpointType & ICBreakpointType.HARDWARE) == ICBreakpointType.HARDWARE; + boolean isTemporary = ((Integer) breakpointType & ICBreakpointType.TEMPORARY) == ICBreakpointType.TEMPORARY; + properties.put(MIBreakpointDMData.IS_HARDWARE, isHardware); + properties.put(MIBreakpointDMData.IS_TEMPORARY, isTemporary); + } + } } else if (breakpoint instanceof ICEventBreakpoint) { properties.put(MIBreakpoints.BREAKPOINT_TYPE, MIBreakpoints.CATCHPOINT);