diff options
Diffstat (limited to 'debug')
-rw-r--r-- | debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java index 51ebb8462d2..22ca3a13274 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java @@ -56,16 +56,17 @@ class ExecutablesContentProvider extends ColumnLabelProvider implements IStructu protected IStatus run(IProgressMonitor monitor) { IStatus status = em.refreshExecutables(monitor); - // Are we in the UIThread? If so spin it until we are - // done - if (viewer.getControl().getDisplay().getThread() == Thread.currentThread()) { - viewer.refresh(inputElement); - } else { - viewer.getControl().getDisplay().asyncExec(new Runnable() { - public void run() { - viewer.refresh(inputElement); - } - }); + // Are we in the UIThread? If so spin it until we are done + if (!viewer.getControl().isDisposed()) { + if (viewer.getControl().getDisplay().getThread() == Thread.currentThread()) { + viewer.refresh(inputElement); + } else { + viewer.getControl().getDisplay().asyncExec(new Runnable() { + public void run() { + viewer.refresh(inputElement); + } + }); + } } monitor.done(); |