diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index a3239460b90..b4d2bee9cde 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2003-05-02 Mikhail Khodjaiants + Notify the Launch view about stack changes when handling the 'Resumed' event. + * CThread.java + 2003-05-01 Mikhail Khodjaiants Implementation of termination policy. * ICDIConfiguration.java: new "terminateSessionOnExit" method added. diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java index b87ed9c4385..958c8bf2ffb 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java @@ -903,33 +903,30 @@ public class CThread extends CDebugElement setRunning( true ); setLastStackFrame( null ); int state = IState.RUNNING; - int detail = DebugEvent.UNSPECIFIED; - switch( event.getType() ) - { - case ICDIResumedEvent.CONTINUE: - detail = DebugEvent.RESUME; - break; - case ICDIResumedEvent.STEP_INTO: - case ICDIResumedEvent.STEP_INTO_INSTRUCTION: - detail = DebugEvent.STEP_INTO; - break; - case ICDIResumedEvent.STEP_OVER: - case ICDIResumedEvent.STEP_OVER_INSTRUCTION: - detail = DebugEvent.STEP_OVER; - break; - case ICDIResumedEvent.STEP_RETURN: - detail = DebugEvent.STEP_RETURN; - break; - } + int detail = DebugEvent.RESUME; if ( isCurrent() && event.getType() != ICDIResumedEvent.CONTINUE ) { preserveStackFrames(); + switch( event.getType() ) + { + case ICDIResumedEvent.STEP_INTO: + case ICDIResumedEvent.STEP_INTO_INSTRUCTION: + detail = DebugEvent.STEP_INTO; + break; + case ICDIResumedEvent.STEP_OVER: + case ICDIResumedEvent.STEP_OVER_INSTRUCTION: + detail = DebugEvent.STEP_OVER; + break; + case ICDIResumedEvent.STEP_RETURN: + detail = DebugEvent.STEP_RETURN; + break; + } state = IState.STEPPING; } else { disposeStackFrames(); - state = IState.RUNNING; + fireChangeEvent( DebugEvent.CONTENT ); } setCurrentStateId( state ); setCurrentStateInfo( null );