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
((GridLayout) parent.getLayout()).numColumns++;
		Button button = new Button(parent, SWT.PUSH);
		button.setText(IDialogConstants.CANCEL_LABEL);
		setButtonLayoutData(button);
		button.setFont(parent.getFont());
		button.setData(new Integer(IDialogConstants.CANCEL_ID));
		button.addSelectionListener(cancelListener);
		return button;
	}
	/**
	 * Return the cancel button if the id is a the cancel id.
	 * @param id the button id
	 * @return the button corresponding to the button id
	 */
	protected Button getButton(int id)
	{
		if(id == IDialogConstants.CANCEL_ID)
			return cancelButton;
		return super.getButton(id);
	}
	
	/**
	 * The <code>WizardDialog</code> implementation of this <code>Window</code>
	 * method calls call <code>IWizard.addPages</code> to allow the current
	 * wizard to add extra pages, then <code>super.createContents</code> to create
	 * the controls. It then calls <code>IWizard.createPageControls</code>
	 * to allow the wizard to pre-create their page controls prior to opening,
	 * so that the wizard opens to the correct size. And finally it
	 * shows the first page.