Bug 60236 [Progress] non-responsive blocked dialogs
When an operation is executed with IRunnableContext.run(false, false, ...) and a blocked dialog shows up, then the blocked dialog is not responsive since there is nobody to process the events. The non-responsiveness shows up as follows: - the details button is not responsive - the progress bars shown in the details area are not updated - you cannot cancel a thread in the details area In this situation we should disable the details button and collapse the details area. To detect the forked=false case could you make the following test: ModalContext.isModalContextThread(Thread.currentThread(). If the current thread isn't the modal context thread then the operation wasn't forked.
bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java
* Restores the enabled/disabled state of the wizard dialog's
	 * buttons and the tree of controls for the currently showing page.
	 *
	 * @param state a map containing the saved state as returned by 
	 *   <code>saveUIState</code>
	 * @see #saveUIState
	 */
	private void restoreUIState(Map state) {
		restoreEnableState(backButton, state, "back"); 
		restoreEnableState(nextButton, state, "next"); 
		restoreEnableState(finishButton, state, "finish"); 
		restoreEnableState(cancelButton, state, "cancel"); 
		restoreEnableState(helpButton, state, "help"); 
		ControlEnableState pageState = (ControlEnableState) state.get("page"); 
		pageState.restore();
	}
	/* (non-Javadoc)
	 * Method declared on IRunnableContext.
	 */
	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable)
			throws InvocationTargetException, InterruptedException {
		
		
		Object state = null;
		if (activeRunningOperations == 0)
			state = aboutToStart(fork && cancelable);
		activeRunningOperations++;
		try {
			ModalContext.run(runnable, fork, getProgressMonitor(), getShell().getDisplay());
		} finally {