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
* the message is saved and will be redisplayed when the error message is set
 * to <code>null</code>.
 * <p>
 * Shortcut for <code>setMessage(newMessage, IMessageProvider.NONE)</code>
 * </p> 
 * 
 * @param newMessage the message, or <code>null</code> to clear
 *   the message
 */
public void setMessage(String newMessage) {
	setMessage(newMessage, IMessageProvider.NONE);
}
/**
 * Sets the message for this dialog with an indication of what type
 * of message it is.
 * <p>
 * The valid message types are one of <code>NONE</code>, 
 * <code>INFORMATION</code>, <code>WARNING</code>, or <code>ERROR</code>.
 * </p>
 * <p>
 * Note that for backward compatibility, a message of type <code>ERROR</code> 
 * is different than an error message (set using <code>setErrorMessage</code>). 
 * An error message overrides the current message until the error message is 
 * cleared. This method replaces the current message and does not affect the 
 * error message.
 * </p>
 *
 * @param newMessage the message, or <code>null</code> to clear
 *   the message
 * @param newType the message type