diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java index 48f68430e18..56e586b87bb 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java @@ -131,11 +131,15 @@ public class CTarget implements ICDITarget { */ void updateState(int newThreadId) { CThread[] oldThreads = currentThreads; + + // If we use "info threads" in getCThreads() this + // will be overwritten. However if we use -stack-list-threads + // it does not provide to the current thread + currentThreadId = newThreadId; // get the new Threads. CThread[] newThreads = getCThreads(); currentThreads = newThreads; - currentThreadId = newThreadId; // Fire destroyedEvent for old threads. if (oldThreads != null && oldThreads.length > 0) {