diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index d64ebfac727..d37458036da 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,9 @@ +2005-11-02 Mikhail Khodjaiants + Bug 113364: Wrong values displaying an array of structures. + Previous fix didn't work for classes with access specifiers. + * cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java + * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java + 2005-10-21 Mikhail Khodjaiants Bug 113364: Wrong values displaying an array of structures. * cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java index abf24eb51a2..70acf199c99 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java @@ -126,12 +126,12 @@ public class VariableManager extends Manager { Target target = (Target)v.getTarget(); ICDIStackFrame vstack = v.getStackFrame(); ICDIThread vthread = v.getThread(); - String name = v.getFullName(); int position = v.getPosition(); int depth = v.getStackDepth(); Variable[] vars = getVariables(target); for (int i = 0; i < vars.length; i++) { - if (vars[i].getFullName().equals(name) + if (vars[i].getFullName().equals(v.getFullName()) + && vars[i].getName().equals(v.getName()) // see bug #113364 && vars[i].getCastingArrayStart() == v.getCastingArrayStart() && vars[i].getCastingArrayEnd() == v.getCastingArrayEnd() && VariableDescriptor.equalsCasting(vars[i], v)) { diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java index 7611f103cd5..3d9d67bf777 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java @@ -351,6 +351,7 @@ public abstract class VariableDescriptor extends CObject implements ICDIVariable if (varDesc instanceof VariableDescriptor) { VariableDescriptor desc = (VariableDescriptor) varDesc; if (desc.getFullName().equals(getFullName()) + && desc.getName().equals(getName()) // see bug #113364 && desc.getCastingArrayStart() == getCastingArrayStart() && desc.getCastingArrayEnd() == getCastingArrayEnd() && equalsCasting(desc, this)) {