Bug 87089 [Viewers] LabelProvider.getImage is not invoked after the TreeViewer changes introduced on 24/01/2005
If you compare the versions 1.26 and 1.25 of the method doUpdateItem(Item item, Object element) in org.eclipse.jface.viewers.TreeViewer, you will notice a change in the way the image of the element is calculated. In 1.25, the image of the Element is set in the "buildLabel" method which doesn't have a special treatment for ITableLabelProvider. In 1.26, if the label provider is a ITableLabelProvider, instead of calling ILabelProvider.getImage(Object), the code always invokes ITableLabelProvider.getColunmImage(Object). This change has broken the icons on one of the EMF generated editors (the mapping editor) as the images I will attach here demostrate.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
protected Item newItem(Widget parent, int flags, int ix) {
        TreeItem item;
        if (ix >= 0) {
            if (parent instanceof TreeItem)
                item = new TreeItem((TreeItem) parent, flags, ix);
            else
                item = new TreeItem((Tree) parent, flags, ix);
        } else {
            if (parent instanceof TreeItem)
                item = new TreeItem((TreeItem) parent, flags);
            else
                item = new TreeItem((Tree) parent, flags);
        }
        return item;
    }
    /* (non-Javadoc)
     * Method declared in AbstractTreeViewer.
     */
    protected void removeAll(Control widget) {
        ((Tree) widget).removeAll();
    }
    	/**
	 * Sets the cell editors of this tree viewer.
	 * 
	 * @param editors
	 *            the list of cell editors
	 * @since 3.1
	 */
	public void setCellEditors(CellEditor[] editors) {
		treeViewerImpl.setCellEditors(editors);