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
* @since 2.0
 */
public void setMessage(String newMessage, int newType) {
	Image newImage = null;
	
	if (newMessage != null) {
		switch (newType) {
			case IMessageProvider.NONE :
				break;
			case IMessageProvider.INFORMATION :
				newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_INFO);
				break;
			case IMessageProvider.WARNING :
				newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_WARNING);
				break;
			case IMessageProvider.ERROR :
				newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_ERROR);
				break;
		}
	}
	
	showMessage(newMessage, newImage);
}
/**
 * Show the new message
 */
private void showMessage(String newMessage, Image newImage) {
	
	if (message.equals(newMessage) && messageImage == newImage)
		return;