Bug 74059 [Viewers] ViewerLabel#hasNewImage() is wrong when setImage(..) has not been called
I200409140800 The Javadoc of ViewerLabel#hasNewImage() states: @return boolean. <code>true</code> if the image has been set to something new. But the current implementation also returns true when 'startImage' is != null, and setImage(..) has not been called. A fix could be to set 'newImage' to 'initialImage' in the constructor, and then update getImage() to just return newImage. For clients that use the pattern ... if (updateLabel.hasNewImage()) item.setImage(updateLabel.getImage()); ..., the current implementation makes them call Item#setImage(..) too often. The same problem applies to hasNewText().
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java
* @param image
	 *            The image to set.
	 */
	public final void setImage(Image image) {
		newImage = image;
	}
	/**
	 * Get the text for the receiver. If the new text has been set return it,
	 * otherwise return the starting text.
	 * 
	 * @return Returns the text.
	 */
	public final String getText() {
		if (newText == null)
			return startText;
		return newText;
	}
	/**
	 * Set the text for the receiver.
	 * 
	 * @param text
	 *            The label to set.
	 */
	public final void setText(String text) {
		newText = text;
	}
	/**
	 * Return whether or not the image has been set.
	 * 
	 * @return boolean. <code>true</code>  if the image has been set to something new.