diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java index c2678e4a296..fd1750f803f 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java @@ -99,6 +99,14 @@ public class CThread extends CObject implements ICDIThread { if (stackframe != null) { frameNum = stackframe.getLevel(); } + + // Check to see if we are already at this level + StackFrame current = getCurrentStackFrame(); + if (current.getLevel() == frameNum) { + // noop + return; + } + MIStackSelectFrame frame = factory.createMIStackSelectFrame(frameNum); try { // Set ourself as the current thread first.