Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/ChangeLog6
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java1
3 files changed, 9 insertions, 2 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
index e216651f849..2e5b61ab5a5 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 9038ef467ae..9a121ab9bf1 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
@@ -122,12 +122,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 3ceae40b442..ad2607fa5e4 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
@@ -324,6 +324,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)) {

Back to the top