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
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.operation.ModalContext;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.Assert;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.events.HelpEvent;
import org.eclipse.swt.events.HelpListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Layout;
import org.eclipse.swt.widgets.Shell;
/**
 * A dialog to show a wizard to the end user. 
 * <p>
 * In typical usage, the client instantiates this class with 
 * a particular wizard. The dialog serves as the wizard container
 * and orchestrates the presentation of its pages.