diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java index c0439de6a37..1c43185efd5 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java @@ -19,6 +19,7 @@ import org.eclipse.cdt.debug.mi.core.MISession; import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException; import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager; import org.eclipse.cdt.debug.mi.core.cdi.Session; +import org.eclipse.cdt.debug.mi.core.cdi.VariableManager; import org.eclipse.cdt.debug.mi.core.command.CommandFactory; import org.eclipse.cdt.debug.mi.core.command.MIDataEvaluateExpression; import org.eclipse.cdt.debug.mi.core.command.MIExecContinue; @@ -127,13 +128,17 @@ public class Target implements ICDITarget { } // Resetting threads may change the value of - // some variables like Register. Send an update + // some variables like Register. Call an update() // To generate changeEvents. if (doUpdate) { RegisterManager regMgr = (RegisterManager)session.getRegisterManager(); if (regMgr.isAutoUpdate()) { regMgr.update(); } + VariableManager varMgr = (VariableManager)session.getVariableManager(); + if (varMgr.isAutoUpdate()) { + varMgr.update(); + } } } diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java index 60be0fdcf01..3f15bacf13f 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java @@ -16,6 +16,7 @@ import org.eclipse.cdt.debug.mi.core.MISession; import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException; import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager; import org.eclipse.cdt.debug.mi.core.cdi.Session; +import org.eclipse.cdt.debug.mi.core.cdi.VariableManager; import org.eclipse.cdt.debug.mi.core.command.CommandFactory; import org.eclipse.cdt.debug.mi.core.command.MIStackInfoDepth; import org.eclipse.cdt.debug.mi.core.command.MIStackListFrames; @@ -219,13 +220,17 @@ public class Thread extends CObject implements ICDIThread { } currentFrame = stackframe; // Resetting stackframe may change the value of - // some variables like registers. Send an update + // some variables like registers. Call an update() // To generate changeEvents. if (doUpdate) { RegisterManager regMgr = (RegisterManager)session.getRegisterManager(); if (regMgr.isAutoUpdate()) { regMgr.update(); } + VariableManager varMgr = (VariableManager)session.getVariableManager(); + if (varMgr.isAutoUpdate()) { + varMgr.update(); + } } } catch (MIException e) { throw new MI2CDIException(e);