Bug 57600 New user progress dialog needs to check if it needs to close
The done() method on the ProgressMonitorFocusJobsDialog is still running even if the workbench is shutdown. java.lang.IllegalStateException: Job manager has been shut down. at org.eclipse.core.internal.jobs.JobManager.schedule (JobManager.java:639) at org.eclipse.core.internal.jobs.InternalJob.schedule (InternalJob.java:268) at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:363) at org.eclipse.ui.internal.progress.ProgressMonitorFocusJobDialog$1.done (ProgressMonitorFocusJobDialog.java:123) at org.eclipse.core.internal.jobs.JobListeners$3.notify (JobListeners.java:38) at org.eclipse.core.internal.jobs.JobListeners$7.run (JobListeners.java:117) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:607) at org.eclipse.core.internal.jobs.JobListeners.doNotify (JobListeners.java:87) at org.eclipse.core.internal.jobs.JobListeners.done (JobListeners.java:136) at org.eclipse.core.internal.jobs.JobManager.endJob (JobManager.java:372) at org.eclipse.core.internal.jobs.WorkerPool.endJob (WorkerPool.java:124) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:72)
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
throw new IllegalArgumentException();
	}
}
/**
 * Creates a new action of the appropriate type. The action id is 
 * <code>IWorkbenchActionConstants.BUILD</code> for incremental builds
 * and <code>IWorkbenchActionConstants.REBUILD_ALL</code> for full builds.
 *
 * @param window the window in which this action appears
 * @param type the type of build; one of
 *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
 *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
 */
public GlobalBuildAction(IWorkbenchWindow window, int type) {
	if (window == null) {
		throw new IllegalArgumentException();
	}
	this.workbenchWindow = window;
	setBuildType(type);
}
/**
 * Sets the build type.
 * 
 * @param type the type of build; one of
 *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
 *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
 */
private void setBuildType(int type) {
	
	switch (type) {