From 5c81a61e9115f74c0721faecfcfae92d8923d880 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Tue, 17 Feb 2004 19:05:42 +0000 Subject: [PATCH] Merged changes from 1.2.1 branch. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 12 ++++++++++++ .../cdt/debug/internal/core/model/CThread.java | 4 ++++ .../cdt/debug/internal/core/model/CVariable.java | 10 +++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index fbbc89f7629..9453e86ffcf 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,15 @@ +2004-02-17 Mikhail Khodjaiants + Reset the current thread flag when resume. + * CThread.java + +2004-02-16 Mikhail Khodjaiants + Fix for bug 52135: Debugger should indicate which thread triggered breakpoint. + * CThread.java + +2004-02-11 Mikhail Khodjaiants + In the 'reset' method check if value is an instance of CValue before type casting. + * CVariable.java + 2004-02-10 Mikhail Khodjaiants Cache the endianness flag. * CDebugTarget.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java index 5f0f3221764..c3ecbc320e6 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java @@ -943,6 +943,7 @@ public class CThread extends CDebugElement } else { + setCurrent( false ); disposeStackFrames(); fireChangeEvent( DebugEvent.CONTENT ); } @@ -1129,6 +1130,8 @@ public class CThread extends CDebugElement { if ( adapter.equals( IRunToLine.class ) ) return this; + if ( adapter.equals( IState.class ) ) + return this; return super.getAdapter(adapter); } @@ -1205,6 +1208,7 @@ public class CThread extends CDebugElement } else { + setCurrent( false ); disposeStackFrames(); events.add( createChangeEvent( DebugEvent.CONTENT ) ); } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java index 089b85bf432..a23afa45ffd 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CVariable.java @@ -200,7 +200,7 @@ public abstract class CVariable extends CDebugElement { if ( getCDIVariableObject() instanceof ICDIArgumentObject ) fCDIVariable = getCDISession().getVariableManager().createArgument( (ICDIArgumentObject)getCDIVariableObject() ); - else if ( getCDIVariableObject() != null ) + else if ( getCDIVariableObject() instanceof ICDIVariableObject ) fCDIVariable = getCDISession().getVariableManager().createVariable( getCDIVariableObject() ); } catch( CDIException e ) @@ -730,8 +730,12 @@ public abstract class CVariable extends CDebugElement protected void reset() throws DebugException { - ((CValue)getValue()).reset(); - fireChangeEvent( DebugEvent.STATE ); + IValue value = getValue(); + if ( value instanceof CValue ) + { + ((CValue)getValue()).reset(); + fireChangeEvent( DebugEvent.STATE ); + } } /* (non-Javadoc)