diff options
author | John Cortell | 2007-06-18 20:53:34 +0000 |
---|---|---|
committer | John Cortell | 2007-06-18 20:53:34 +0000 |
commit | c1eac4b95e5bc301e5b33994fbd3c6c83093cbfa (patch) | |
tree | 91e606d59c6d1b7390724098058e7e33c9c8cdda | |
parent | 94652e017d202d359d02c0a3c395032cf121540d (diff) | |
download | org.eclipse.cdt-c1eac4b95e5bc301e5b33994fbd3c6c83093cbfa.tar.gz org.eclipse.cdt-c1eac4b95e5bc301e5b33994fbd3c6c83093cbfa.tar.xz org.eclipse.cdt-c1eac4b95e5bc301e5b33994fbd3c6c83093cbfa.zip |
Fixed 193198. If an error was encountered by an action delegate, it would be eaten.
2 files changed, 14 insertions, 4 deletions
diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIMessages.properties b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIMessages.properties index fb8fbbac88c..3c1274d4215 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIMessages.properties +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIMessages.properties @@ -39,3 +39,4 @@ CDTDebugModelPresentation.24=-Infinity CDTDebugModelPresentation.25=(disabled) CBreakpointWorkbenchAdapterFactory.0=C/C++ breakpoint CBreakpointWorkbenchAdapterFactory.1=C/C++ watchpoint +ErrorStatusHandler.1=Error
\ No newline at end of file diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ErrorStatusHandler.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ErrorStatusHandler.java index 03c32ea5d98..d6c8ea12d09 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ErrorStatusHandler.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ErrorStatusHandler.java @@ -27,13 +27,22 @@ public class ErrorStatusHandler implements IStatusHandler { * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object) */ public Object handleStatus( final IStatus status, Object source ) throws CoreException { - if ( status != null && source != null && source instanceof IDebugElement ) { - IDebugTarget target = ((IDebugElement)source).getDebugTarget(); - final String title = target.getName(); + if ( status != null && source != null ) { + String title = ""; + if (source instanceof IDebugElement) { + IDebugTarget target = ((IDebugElement)source).getDebugTarget(); + title = target.getName(); + } + else { + // Source is sometimes an action delegate instance. Can't gather + // anything useful from it. Use a generic title + title = CDebugUIMessages.getString("ErrorStatusHandler.1"); + } + final String title_f = title; CDebugUIPlugin.getStandardDisplay().asyncExec( new Runnable() { public void run() { - ErrorDialog.openError( CDebugUIPlugin.getActiveWorkbenchShell(), title, null, status ); + ErrorDialog.openError( CDebugUIPlugin.getActiveWorkbenchShell(), title_f, null, status ); } } ); } |