Bug 26133 [Dialogs] TitleAreaDialog status line blinks when newMessage == currentMessage
Build id: 200211051258 The current implementation for TitleAreaDialog#showMessage(String,int) method has a guard against updates to the message with the same content (to avoid needlessly blinking). The problem is that after that the message may be concatenated with a space character: ==================== //If there is an image then add in a space to the message //for layout purposes if(newImage != null) message = " " + message; //$NON-NLS-1$ ==================== So the guard will fail in the next call even if the same string is provided by the client.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
* fillerLabel for the case where there is a normal message.
 * @param verticalSpacing int The spacing between widgets on the vertical axis.
 * @param horizontalSpacing int The spacing between widgets on the horizontal axis.
 */
private void setLayoutsForNormalMessage(
	int verticalSpacing,
	int horizontalSpacing) {
	FormData messageImageData = new FormData();
	messageImageData.top = new FormAttachment(titleLabel,verticalSpacing);
	messageImageData.left = new FormAttachment(0,H_GAP_IMAGE);
	messageImageLabel.setLayoutData(messageImageData);
	
	FormData messageLabelData = new FormData();
	messageLabelData.top = new FormAttachment(titleLabel,verticalSpacing);
	messageLabelData.right = new FormAttachment(titleImage);
	messageLabelData.left = new FormAttachment(messageImageLabel,horizontalSpacing);
	
	if(titleImageLargest)
		messageLabelData.bottom = new FormAttachment(titleImage,0,SWT.BOTTOM);
		
	messageLabel.setLayoutData(messageLabelData);
	
	FormData fillerData = new FormData();
	fillerData.left = new FormAttachment(0,horizontalSpacing);
	fillerData.top = new FormAttachment(messageImageLabel,0);
	fillerData.bottom = new FormAttachment(messageLabel,0,SWT.BOTTOM);
	bottomFillerLabel.setLayoutData(fillerData);	
	
	FormData data = new FormData();
	data.top = new FormAttachment(messageImageLabel, 0,SWT.TOP);