Bug 164361 [Progress] Task name not shown in user job progress dialog
3.2 The progress dialog for a user job often does not show the task name passed to IProgressMonitor.beginTask. This appears to be due to a race condition in the optimization in ProgressMonitorDialog that tries to avoid trimming and setting the message in the label if the dialog is not visible. It's possible for the message to get set but never get shown, due to the SWT.Show handler running before messageLabel.isVisible() is true. I suggest that the SWT.Show handler always set the last message in the label, even if it's not yet visible. That is, avoid the isVisible() check in setMessage when coming from the SWT.Show handler in configureShell. Can this get addressed for the next milestone? I'd be happy to sit down and help with this one.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java
* </p>
 * <p>
 * Note that the ProgressMonitorDialog is not intended to be used with multiple
 * runnables - this dialog should be discarded after completion of one
 * IRunnableWithProgress and a new one instantiated for use by a second or
 * sebsequent IRunnableWithProgress to ensure proper initialization.
 * </p>
 * <p>
 * Note that not forking the process will result in it running in the UI which
 * may starve the UI. The most obvious symptom of this problem is non
 * responsiveness of the cancel button. If you are running within the UI Thread
 * you should do the bulk of your work in another Thread to prevent starvation.
 * It is recommended that fork is set to true in most cases.
 * </p>
 */
public class ProgressMonitorDialog extends IconAndMessageDialog implements
        IRunnableContext {
    /**
     * Name to use for task when normal task name is empty string.
     */
    private static String DEFAULT_TASKNAME = JFaceResources
            .getString("ProgressMonitorDialog.message"); 
    /**
     * Constants for label and monitor size
     */
    private static int LABEL_DLUS = 21;
    private static int BAR_DLUS = 9;
    /**
     * The progress indicator control.
     */