Bug 47150 [Progress] ProgressMonitorJobsDialog used on shutdown
build I20031119-2030 On shutdown, a ProgressMonitorJobsDialog is used when saving the workspace. This is opened with fork=false and cancelable=false. fork=false means the UI is not processing events, so the Jobs button is unresponsive.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
shell, 
					IDEWorkbenchMessages.getString("Workspace.problemsTitle"),		
					IDEWorkbenchMessages.getString("Workspace.problemAutoBuild"));	
			}
		}
	}
	private void refreshFromLocal() {
		String[] commandLineArgs = Platform.getCommandLineArgs();
		IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
		boolean refresh = store.getBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP);
		if (!refresh)
			return;
			
		
		for (int i = 0; i < commandLineArgs.length; i++)
			if (commandLineArgs[i].equalsIgnoreCase("-refresh")) 
				return;
				
		IWorkbenchWindow windows[] = PlatformUI.getWorkbench().getWorkbenchWindows();
		Shell shell = windows[windows.length - 1].getShell();
		ProgressMonitorDialog dlg = new ProgressMonitorDialog(shell);
		final CoreException ex[] = new CoreException[1];
		try {
			dlg.run(true, true, new IRunnableWithProgress() {
				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
					try {
						IContainer root = ResourcesPlugin.getWorkspace().getRoot();
						root.refreshLocal(IResource.DEPTH_INFINITE, monitor);
					} catch (CoreException e) {
						ex[0] = e;