diff options
author | Alain Magloire | 2002-09-11 15:12:11 +0000 |
---|---|---|
committer | Alain Magloire | 2002-09-11 15:12:11 +0000 |
commit | cf07dedc007a201de0b03e6198fb975305aea992 (patch) | |
tree | a40fa4cbc402598cb4b6a315b005aa27d692322b /debug | |
parent | a345a5476dbfe6a391f7e5538563c3f9104de697 (diff) | |
download | org.eclipse.cdt-cf07dedc007a201de0b03e6198fb975305aea992.tar.gz org.eclipse.cdt-cf07dedc007a201de0b03e6198fb975305aea992.tar.xz org.eclipse.cdt-cf07dedc007a201de0b03e6198fb975305aea992.zip |
Bug fix the children where not register to the VariableManager
so the ChangeEvent was not issued.
Diffstat (limited to 'debug')
2 files changed, 19 insertions, 3 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Value.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Value.java index ede41cbdd2c..5352cd8282b 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Value.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Value.java @@ -101,7 +101,9 @@ public class Value extends CObject implements ICDIValue { */ public ICDIVariable[] getVariables() throws CDIException { Variable[] variables = null; - MISession mi = getCTarget().getCSession().getMISession(); + CSession session = getCTarget().getCSession(); + MISession mi = session.getMISession(); + VariableManager mgr = (VariableManager)session.getVariableManager(); CommandFactory factory = mi.getCommandFactory(); MIVarListChildren var = factory.createMIVarListChildren(variable.getMIVar().getVarName()); @@ -114,8 +116,10 @@ public class Value extends CObject implements ICDIValue { MIVar[] vars = info.getMIVars(); variables = new Variable[vars.length]; for (int i = 0; i < vars.length; i++) { - variables[i] = - new Variable(variable.getStackFrame(), vars[i].getExp(), vars[i]); + //variables[i] = new Variable(variable.getStackFrame(), vars[i].getExp(), vars[i]); + variables[i] = mgr.createVariable(variable.getStackFrame(), + vars[i].getExp(), vars[i]); + } } catch (MIException e) { //throw new CDIException(e.getMessage()); diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java index fcfbed3d32e..97290852297 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java @@ -210,6 +210,18 @@ public class VariableManager extends SessionObject implements ICDIExpressionMana return var; } + Variable createVariable(StackFrame stack, String name, MIVar miVar ) + throws CDIException { + Element element = new Element(); + element.miVar = miVar; + element.name = name; + element.stackframe = stack; + Variable var = new Variable(stack, name, miVar); + element.variable = var; + addElement(element); + return var; + } + ICDIArgument createArgument(StackFrame stack, String name) throws CDIException { Element element = createElement(stack, name); |