mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42: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
|
2004-06-28 Mikhail Khodjaiants
|
||||||
Partial fix for bug 45535: Performance problems when debugging.
|
Partial fix for bug 45535: Performance problems when debugging.
|
||||||
Cache the double and float presentations of the floating point types.
|
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 {
|
protected synchronized List getVariables0() throws DebugException {
|
||||||
|
((CThread)getThread()).switchToFrame( this );
|
||||||
if ( fVariables == null ) {
|
if ( fVariables == null ) {
|
||||||
List vars = getAllCDIVariableObjects();
|
List vars = getAllCDIVariableObjects();
|
||||||
fVariables = new ArrayList( vars.size() );
|
fVariables = new ArrayList( vars.size() );
|
||||||
|
@ -569,10 +570,6 @@ public class CStackFrame extends CDebugElement implements ICStackFrame, IRestart
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* protected List getAllCDIVariables() throws DebugException { List list = new ArrayList(); list.addAll( getCDIArguments() ); list.addAll(
|
|
||||||
* getCDILocalVariables() ); return list; }
|
|
||||||
*/
|
|
||||||
protected List getAllCDIVariableObjects() throws DebugException {
|
protected List getAllCDIVariableObjects() throws DebugException {
|
||||||
List list = new ArrayList();
|
List list = new ArrayList();
|
||||||
list.addAll( getCDIArgumentObjects() );
|
list.addAll( getCDIArgumentObjects() );
|
||||||
|
|
|
@ -272,6 +272,7 @@ public class CThread extends CDebugElement
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
((CDebugTarget)getDebugTarget()).setCurrentThread( this );
|
||||||
return getCDIThread().getStackFrames( lowFrame, highFrame );
|
return getCDIThread().getStackFrames( lowFrame, highFrame );
|
||||||
}
|
}
|
||||||
catch( CDIException e )
|
catch( CDIException e )
|
||||||
|
@ -1016,6 +1017,7 @@ public class CThread extends CDebugElement
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
((CDebugTarget)getDebugTarget()).setCurrentThread( this );
|
||||||
if ( getLastStackFrame() != null )
|
if ( getLastStackFrame() != null )
|
||||||
{
|
{
|
||||||
((CDebugTarget)getDebugTarget()).resetRegisters();
|
((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
|
2004-06-22 Mikhail Khodjaiants
|
||||||
Replaced global resource bundles by messages.
|
Replaced global resource bundles by messages.
|
||||||
|
|
||||||
|
|
|
@ -311,10 +311,7 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen
|
||||||
*/
|
*/
|
||||||
public void start( BundleContext context ) throws Exception {
|
public void start( BundleContext context ) throws Exception {
|
||||||
super.start( context );
|
super.start( context );
|
||||||
IWorkbenchWindow ww = getActiveWorkbenchWindow();
|
listenSelection( true, this );
|
||||||
if ( ww != null ) {
|
|
||||||
ww.getSelectionService().addSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this );
|
|
||||||
}
|
|
||||||
CDebugCorePlugin.getDefault().addCBreakpointListener( CBreakpointUpdater.getInstance() );
|
CDebugCorePlugin.getDefault().addCBreakpointListener( CBreakpointUpdater.getInstance() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,13 +322,26 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen
|
||||||
*/
|
*/
|
||||||
public void stop( BundleContext context ) throws Exception {
|
public void stop( BundleContext context ) throws Exception {
|
||||||
CDebugCorePlugin.getDefault().removeCBreakpointListener( CBreakpointUpdater.getInstance() );
|
CDebugCorePlugin.getDefault().removeCBreakpointListener( CBreakpointUpdater.getInstance() );
|
||||||
IWorkbenchWindow ww = getActiveWorkbenchWindow();
|
listenSelection( false, this );
|
||||||
if ( ww != null ) {
|
|
||||||
ww.getSelectionService().removeSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this );
|
|
||||||
}
|
|
||||||
if ( fImageDescriptorRegistry != null ) {
|
if ( fImageDescriptorRegistry != null ) {
|
||||||
fImageDescriptorRegistry.dispose();
|
fImageDescriptorRegistry.dispose();
|
||||||
}
|
}
|
||||||
super.stop( context );
|
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