diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index 1a52b0c4c94..50a5f275a64 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,7 @@ +2003-06-05 Mikhail Khodjaiants + Evaluate expressions of detail panel asynchronously. + * CDTValueDetailProvider.java + 2003-06-04 Mikhail Khodjaiants Implementing the UI support of the detail panel. * CDTDebugModelPresentation.java diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTValueDetailProvider.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTValueDetailProvider.java index 1ddffee6d5b..d77196f1c42 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTValueDetailProvider.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTValueDetailProvider.java @@ -9,6 +9,7 @@ package org.eclipse.cdt.debug.internal.ui; import org.eclipse.cdt.debug.core.model.ICValue; import org.eclipse.debug.core.model.IValue; import org.eclipse.debug.ui.IValueDetailListener; +import org.eclipse.swt.widgets.Display; /** * Enter type comment. @@ -29,11 +30,17 @@ public class CDTValueDetailProvider return fInstance; } - public void computeDetail( IValue value, IValueDetailListener listener ) + public void computeDetail( final IValue value, final IValueDetailListener listener ) { if ( value instanceof ICValue ) { - listener.detailComputed( value, ((ICValue)value).computeDetail() ); + Display.getCurrent().asyncExec( new Runnable() + { + public void run() + { + listener.detailComputed( value, ((ICValue)value).evaluateAsExpression() ); + } + } ); } } }