Bug 249915 [Dialogs] TitleAreaDialog does not short circuit if message is null
M20080911-1700 When profiling use of a custom WizardDialog on Linux/GTK, a lot of time was spent in WizardPage.setMessage(...). It turns out that this was because we were setting a message of null after each keypress, and the page's description (DialogPage.getDescription()) was also null. In this case the short-circuit in TitleAreaDialog.setMessage(String, int) fails to notice that the message has not changed, and does a layout every time. For our dialog this takes about 40ms each time, which is noticeable when compounded with other work.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
* the button bar).
	 * <p>
	 * The <code>Dialog</code> implementation of this framework method creates
	 * and returns a new <code>Composite</code> with no margins and spacing.
	 * Subclasses should override.
	 * </p>
	 * 
	 * @param parent
	 *            The parent composite to contain the dialog area
	 * @return the dialog area control
	 */
	protected Control createDialogArea(Composite parent) {
		
		Composite composite = new Composite(parent, SWT.NONE);
		GridLayout layout = new GridLayout();
		layout.marginHeight = 0;
		layout.marginWidth = 0;
		layout.verticalSpacing = 0;
		layout.horizontalSpacing = 0;
		composite.setLayout(layout);
		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
		composite.setFont(parent.getFont());
		
		Label titleBarSeparator = new Label(composite, SWT.HORIZONTAL
				| SWT.SEPARATOR);
		titleBarSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		return composite;
	}
	/**
	 * Creates the dialog's title area.