diff --git a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/AbstractMIControl.java b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/AbstractMIControl.java index 1de0c9848f1..ba3e91e1037 100644 --- a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/AbstractMIControl.java +++ b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/AbstractMIControl.java @@ -738,4 +738,9 @@ public abstract class AbstractMIControl extends AbstractDsfService public void resetCurrentThreadLevel(){ fCurrentThreadId = -1; } + + public void resetCurrentStackLevel(){ + fCurrentStackLevel = -1; + } + } diff --git a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor.java b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor.java index 23b9335dd83..bb39182074f 100644 --- a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor.java +++ b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/command/MIRunControlEventProcessor.java @@ -108,9 +108,10 @@ public class MIRunControlEventProcessor // Change of state. String state = exec.getAsyncClass(); if ("stopped".equals(state)) { //$NON-NLS-1$ - // Re-set the thread level to -1 when stopped event is recvd. + // Re-set the thread and stack level to -1 when stopped event is recvd. // This is to synchronize the state between GDB back-end and AbstractMIControl. fCommandControl.resetCurrentThreadLevel(); + fCommandControl.resetCurrentStackLevel(); List> events = new LinkedList>(); MIResult[] results = exec.getMIResults();