diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 68753510242..db6addac643 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2005-08-25 Mikhail Khodjaiants + Bug 108028: Duplicate watchpointes. + * CBreakpointManager.java + 2005-08-23 Mikhail Khodjaiants Bug 107787: Casting variable to array causes NPE. * CIndexedValue.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java index f018520f9dc..525ef317938 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java @@ -191,6 +191,17 @@ public class CBreakpointManager implements IBreakpointsListener, IBreakpointMana return sourceHandle.equals( ((ICLineBreakpoint)breakpoint).getSourceHandle() ) && location.getLineNumber() == ((ICLineBreakpoint)breakpoint).getLineNumber(); } } + if ( breakpoint instanceof ICWatchpoint && cdiBreakpoint instanceof ICDIWatchpoint ) { + try { + ICWatchpoint watchpoint = (ICWatchpoint)breakpoint; + ICDIWatchpoint cdiWatchpoint = (ICDIWatchpoint)cdiBreakpoint; + return ( watchpoint.getExpression().compareTo( cdiWatchpoint.getWatchExpression() ) == 0 && + watchpoint.isReadType() == cdiWatchpoint.isReadType() && + watchpoint.isWriteType() == cdiWatchpoint.isWriteType() ); + } + catch( CDIException e ) { + } + } } catch( CoreException e ) { }