From c1db45f6f688bd85cc4a0aa950fa29df30de373d Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Tue, 2 Nov 2004 14:58:24 +0000 Subject: [PATCH] 2004-11-02 Alain Magloire Tentative fix for PR 77435 * cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 4 ++++ .../cdt/debug/mi/core/cdi/VariableManager.java | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index 967e03df9b6..4b76498d9f4 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,7 @@ +2004-11-02 Alain Magloire + Tentative fix for PR 77435 + * cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java + 2004-10-31 Alain Magloire Tentative fix for PR 74496 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 845083c25e6..531c4d96250 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 @@ -260,8 +260,21 @@ public class VariableManager extends Manager { String fullName = varDesc.getFullName(); int pos = varDesc.getPosition(); int depth = varDesc.getStackDepth(); - - checkType(frame, type); + + // Check the type validity. + { + StackFrame f = frame; + if (f == null) { + if (thread != null) { + f = thread.getCurrentStackFrame(); + } else { + Thread t = (Thread)target.getCurrentThread(); + f = t.getCurrentStackFrame(); + } + } + checkType(f, type); + } + VariableDescriptor vo = null; if (varDesc instanceof ArgumentDescriptor || varDesc instanceof Argument) {