From 1a65b23a5d4a75173492690adcac93911d4fc803 Mon Sep 17 00:00:00 2001 From: Teodor Madan Date: Mon, 3 Mar 2014 11:39:13 +0200 Subject: [PATCH] Bug 429251: Breakpoint problem marker is not displayed in external source files Enable ExternalSearchAnnotationModel displaying BP problems by setting attribute C_MODEL_MARKER_EXTERNAL_LOCATION Change-Id: Icb0c2bf444aa1eb91a8da685c35a140e8174439b Signed-off-by: Teodor Madan Reviewed-on: https://git.eclipse.org/r/22748 Reviewed-by: Marc Khouzam IP-Clean: Marc Khouzam Tested-by: Marc Khouzam --- .../org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java | 4 ++++ 1 file changed, 4 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 849e793a2b5..c57dc5dd9a2 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 @@ -27,6 +27,7 @@ import java.util.Set; import java.util.Vector; import java.util.concurrent.RejectedExecutionException; +import org.eclipse.cdt.core.model.ICModelMarker; import org.eclipse.cdt.debug.core.CDebugCorePlugin; import org.eclipse.cdt.debug.core.breakpointactions.BreakpointActionManager; import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint; @@ -709,10 +710,13 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo // Add a problem marker to the resource IMarker problem_marker = resource.createMarker(BreakpointProblems.BREAKPOINT_PROBLEM_MARKER_ID); int line_number = lineBreakpoint.getLineNumber(); + String sourceHandle = lineBreakpoint.getSourceHandle(); problem_marker.setAttribute(IMarker.LOCATION, String.valueOf(line_number)); problem_marker.setAttribute(IMarker.MESSAGE, description); problem_marker.setAttribute(IMarker.SEVERITY, severity); problem_marker.setAttribute(IMarker.LINE_NUMBER, line_number); + if (sourceHandle != null) + problem_marker.setAttribute(ICModelMarker.C_MODEL_MARKER_EXTERNAL_LOCATION, sourceHandle); // And save the baby fBreakpointMarkerProblems.put(breakpoint, problem_marker);