Community
Participate
Working Groups
The DebugMarkerAnnotationModel handles breakpoint annotations for external files. If a breakpoint has been added to the model and gets changed later on such that it is no longer "acceptable" for the model, it cannot be removed any longer. The obvious fix should be to remove the isAcceptable() call in breakpointsRemoved(), because a breakpoint does not need to be acceptable to remove its annotation from the model. I have not found a real scenario with plain CDT, but it happens in our product.
Created attachment 174145 [details] Fix This patch fixes the issue and streamlines the "isAcceptable" criterion. Acceptable is any breakpoint which has the ICBreakpoint.SOURCE_HANDLE attribute set to the file in question.
*** cdt cvs genie on behalf of aleherbau *** Bug 316905 - DebugMarkerAnnotationModel does not reliably remove annotations for removed breakpoints [*] DebugMarkerAnnotationModel.java 1.5.14.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/DebugMarkerAnnotationModel.java?root=Tools_Project&r1=1.5&r2=1.5.14.1 [*] DebugMarkerAnnotationModel.java 1.5.16.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/DebugMarkerAnnotationModel.java?root=Tools_Project&r1=1.5&r2=1.5.16.1
Committed to HEAD, cdt_7_0 and cdt_6_0.
*** cdt cvs genie on behalf of aleherbau *** Bug 316905 - DebugMarkerAnnotationModel does not reliably remove annotations for removed breakpoints [*] DebugMarkerAnnotationModel.java 1.6 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/DebugMarkerAnnotationModel.java?root=Tools_Project&r1=1.5&r2=1.6