diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 9453e86ffcf..e37e9d40177 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2004-02-20 Mikhail Khodjaiants + Fire the "suspend" event when the target is suspended because of an error. + * CDebugTarget.java + 2004-02-17 Mikhail Khodjaiants Reset the current thread flag when resume. * CThread.java 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 61618c19a19..037bfe19005 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 @@ -1547,6 +1547,7 @@ public class CDebugTarget extends CDebugElement } CDebugUtils.error( status, this ); } + fireSuspendEvent( DebugEvent.UNSPECIFIED ); } private void handleSuspendedBySolibEvent( ICDISharedLibraryEvent solibEvent ) @@ -1876,16 +1877,16 @@ public class CDebugTarget extends CDebugElement */ public void setCurrentThread( IThread thread ) throws DebugException { - if ( !isSuspended() || !isAvailable() || thread == null || !(thread instanceof CThread) ) + if ( !isSuspended() || !isAvailable() || !(thread instanceof CThread) ) return; try { CThread oldThread = (CThread)getCurrentThread(); if ( !thread.equals( oldThread ) ) { + getCDITarget().setCurrentThread( ((CThread)thread).getCDIThread() ); if ( oldThread != null ) oldThread.setCurrent( false ); - getCDITarget().setCurrentThread( ((CThread)thread).getCDIThread() ); ((CThread)thread).setCurrent( true ); } }