From 51e4d9609a98bb19190f1b4c2cddcf4f5563a59a Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Fri, 20 Sep 2002 19:21:20 +0000 Subject: [PATCH] Send an update when resetting the stackframe or the thread id. --- .../src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java | 6 ++++++ .../src/org/eclipse/cdt/debug/mi/core/cdi/CThread.java | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) 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 4a9cb41d567..fb8286a59af 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 @@ -102,6 +102,12 @@ public class CTarget implements ICDITarget { } catch (MIException e) { throw new CDIException(e.getMessage()); } + + // Resetting threads may change the value of + // some variables like Register. Send an update + // To generate changeEvents. + VariableManager varMgr = session.getVariableManager(); + varMgr.update(); } // We should be allright now. 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 ac7a1a02b68..b87f0cfa05a 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 @@ -93,7 +93,8 @@ public class CThread extends CObject implements ICDIThread { } public void setCurrentStackFrame(StackFrame stackframe) throws CDIException { - MISession mi = getCTarget().getCSession().getMISession(); + CSession session = getCTarget().getCSession(); + MISession mi = session.getMISession(); CommandFactory factory = mi.getCommandFactory(); int frameNum = 0; if (stackframe != null) { @@ -109,6 +110,13 @@ public class CThread extends CObject implements ICDIThread { throw new CDIException("No answer"); } currentFrame = stackframe; + + // Resetting threads may change the value of + // some variables like Register. Send an update + // To generate changeEvents. + VariableManager varMgr = session.getVariableManager(); + varMgr.update(); + } catch (MIException e) { throw new CDIException(e.getMessage()); }