cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java
changeset 14 c50c3d06898c
parent 0 0e6d23e2b466
--- a/cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java	Wed May 20 15:37:54 2009 -0500
+++ b/cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesContentProvider.java	Mon Jun 01 19:15:36 2009 -0500
@@ -17,9 +17,6 @@
 import org.eclipse.cdt.debug.core.executables.Executable;
 import org.eclipse.cdt.debug.core.executables.ExecutablesManager;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -29,10 +26,7 @@
 
 class ExecutablesContentProvider extends ColumnLabelProvider implements IStructuredContentProvider, ITreeContentProvider {
 
-	private TreeViewer viewer;
-
 	public ExecutablesContentProvider(TreeViewer viewer) {
-		this.viewer = viewer;
 	}
 
 	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
@@ -43,42 +37,8 @@
 
 	public Object[] getElements(final Object inputElement) {
 		if (inputElement instanceof ExecutablesManager) {
-			final ExecutablesManager em = (ExecutablesManager) inputElement;
-			if (em.refreshNeeded()) {
-				// do this asynchronously. just return an empty array
-				// immediately, and then refresh the view
-				// once the list of executables has been calculated. this can
-				// take a while and we don't want
-				// to block the UI.
-				Job refreshJob = new Job(Messages.ExecutablesContentProvider_FetchingExecutables) {
-
-					@Override
-					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().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();
-						return status;
-					}
-				};
-
-				refreshJob.schedule();
-
-			} else {
-				return em.getExecutables();
-			}
+			ExecutablesManager em = (ExecutablesManager) inputElement;
+			return em.getExecutables().toArray();
 		}
 		return new Object[] {};
 	}
@@ -140,4 +100,4 @@
 		return new Object[] {};
 	}
 
-}
\ No newline at end of file
+}