From c58729d04432f2d4794231723d7e66c9126778d4 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Fri, 20 Sep 2002 21:47:39 +0000 Subject: [PATCH] Check if breakpoint list is empty before deletion. --- .../internal/core/model/CDebugTarget.java | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java index 58161da6bbd..541aaec19a0 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java @@ -1076,24 +1076,27 @@ public class CDebugTarget extends CDebugElement { ICDIBreakpoint[] cdiBreakpoints = (ICDIBreakpoint[])getBreakpoints().values().toArray( new ICDIBreakpoint[0] ); ICDIBreakpointManager bm = getCDISession().getBreakpointManager(); - try + if ( cdiBreakpoints.length > 0 ) { - bm.deleteBreakpoints( cdiBreakpoints ); - Iterator it = getBreakpoints().keySet().iterator(); - while( it.hasNext() ) + try { - ((CBreakpoint)it.next()).decrementInstallCount(); + bm.deleteBreakpoints( cdiBreakpoints ); + Iterator it = getBreakpoints().keySet().iterator(); + while( it.hasNext() ) + { + ((CBreakpoint)it.next()).decrementInstallCount(); + } + getBreakpoints().clear(); + } + catch( CoreException ce ) + { + requestFailed( "Operation failed. Reason: ", ce ); + } + catch( CDIException e ) + { + requestFailed( "Operation failed. Reason: ", e ); } - getBreakpoints().clear(); } - catch( CoreException ce ) - { - requestFailed( "Operation failed. Reason: ", ce ); - } - catch( CDIException e ) - { - requestFailed( "Operation failed. Reason: ", e ); - } } protected void removeBreakpoint( CBreakpoint breakpoint ) throws DebugException @@ -1126,15 +1129,18 @@ public class CDebugTarget extends CDebugElement { ICDIBreakpoint[] cdiBreakpoints = (ICDIBreakpoint[])getTemporaryBreakpoints().toArray( new ICDIBreakpoint[0] ); ICDIBreakpointManager bm = getCDISession().getBreakpointManager(); - try + if ( cdiBreakpoints.length > 0 ) { - bm.deleteBreakpoints( cdiBreakpoints ); - getTemporaryBreakpoints().clear(); + try + { + bm.deleteBreakpoints( cdiBreakpoints ); + getTemporaryBreakpoints().clear(); + } + catch( CDIException e ) + { + logError( e ); + } } - catch( CDIException e ) - { - logError( e ); - } } protected void changeBreakpointProperties( CBreakpoint breakpoint, IMarkerDelta delta ) throws DebugException