1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 06:32:10 +02:00

Temporary fix for bug 68915: Invalid values in the Variables view.

This commit is contained in:
Mikhail Khodjaiants 2004-06-30 01:31:50 +00:00
parent c59364cdd5
commit abfe932836
5 changed files with 31 additions and 13 deletions

View file

@ -1,3 +1,8 @@
2004-06-29 Mikhail Khodjaiants
Temporary fix for bug 68915: Invalid values in the Variables view.
* CStackFrame.java
* CThread.java
2004-06-28 Mikhail Khodjaiants
Partial fix for bug 45535: Performance problems when debugging.
Cache the double and float presentations of the floating point types.

View file

@ -107,6 +107,7 @@ public class CStackFrame extends CDebugElement implements ICStackFrame, IRestart
}
protected synchronized List getVariables0() throws DebugException {
((CThread)getThread()).switchToFrame( this );
if ( fVariables == null ) {
List vars = getAllCDIVariableObjects();
fVariables = new ArrayList( vars.size() );
@ -569,10 +570,6 @@ public class CStackFrame extends CDebugElement implements ICStackFrame, IRestart
return list;
}
/*
* protected List getAllCDIVariables() throws DebugException { List list = new ArrayList(); list.addAll( getCDIArguments() ); list.addAll(
* getCDILocalVariables() ); return list; }
*/
protected List getAllCDIVariableObjects() throws DebugException {
List list = new ArrayList();
list.addAll( getCDIArgumentObjects() );

View file

@ -272,6 +272,7 @@ public class CThread extends CDebugElement
{
try
{
((CDebugTarget)getDebugTarget()).setCurrentThread( this );
return getCDIThread().getStackFrames( lowFrame, highFrame );
}
catch( CDIException e )
@ -1016,6 +1017,7 @@ public class CThread extends CDebugElement
}
try
{
((CDebugTarget)getDebugTarget()).setCurrentThread( this );
if ( getLastStackFrame() != null )
{
((CDebugTarget)getDebugTarget()).resetRegisters();

View file

@ -1,3 +1,7 @@
2004-06-29 Mikhail Khodjaiants
Temporary fix for bug 68915: Invalid values in the Variables view.
* CDebugUIPlugin.java
2004-06-22 Mikhail Khodjaiants
Replaced global resource bundles by messages.

View file

@ -311,10 +311,7 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen
*/
public void start( BundleContext context ) throws Exception {
super.start( context );
IWorkbenchWindow ww = getActiveWorkbenchWindow();
if ( ww != null ) {
ww.getSelectionService().addSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this );
}
listenSelection( true, this );
CDebugCorePlugin.getDefault().addCBreakpointListener( CBreakpointUpdater.getInstance() );
}
@ -325,13 +322,26 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen
*/
public void stop( BundleContext context ) throws Exception {
CDebugCorePlugin.getDefault().removeCBreakpointListener( CBreakpointUpdater.getInstance() );
IWorkbenchWindow ww = getActiveWorkbenchWindow();
if ( ww != null ) {
ww.getSelectionService().removeSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this );
}
listenSelection( false, this );
if ( fImageDescriptorRegistry != null ) {
fImageDescriptorRegistry.dispose();
}
super.stop( context );
}
void listenSelection( final boolean enable, final ISelectionListener listener ) {
Runnable r = new Runnable() {
public void run() {
IWorkbenchWindow ww = getActiveWorkbenchWindow();
if ( ww != null ) {
if ( enable )
ww.getSelectionService().addSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, listener );
else
ww.getSelectionService().removeSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, listener );
}
}
};
getWorkbench().getDisplay().asyncExec( r );
}
}