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
private Color background = null;
	private Color foreground = null;
	private Font font = null;
	
	private String startText;
	private Image startImage;
	/**
	 * Create a new instance of the receiver with the supplied
	 * initial text and image.
	 * @param initialText
	 * @param initialImage
	 */
	public ViewerLabel(String initialText, Image initialImage) {
		startText = initialText;
		startImage = initialImage;
	}
	/**
	 * Get the image for the receiver. If the new image has been set return it,
	 * otherwise return the starting image.
	 * 
	 * @return Returns the image.
	 */
	public final Image getImage() {
		if (newImage == null)
			return startImage;
		return newImage;
	}
	/**
	 * Set the image for the receiver.
	 *