mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 22:22:11 +02:00
Temporary fix for bug 68915: Invalid values in the Variables view.
This commit is contained in:
parent
c59364cdd5
commit
abfe932836
5 changed files with 31 additions and 13 deletions
|
@ -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.
|
||||
|
|
|
@ -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() );
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue