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
* @return <code>true</code> if the refer to the same elements, <code>false</code> otherwise
     */
    protected boolean isSameSelection(List items, Item[] current) {
        
        int n = items.size();
        if (n != current.length)
            return false;
        CustomHashtable itemSet = newHashtable(n * 2 + 1);
        for (Iterator i = items.iterator(); i.hasNext();) {
            Item item = (Item) i.next();
            Object element = item.getData();
            itemSet.put(element, element);
        }
        
        
        for (int i = 0; i < current.length; i++) {
            if (!itemSet.containsKey(current[i].getData()))
                return false;
        }
        return true;
    }
    /* (non-Javadoc)
     * Method declared in AbstractTreeViewer.
     */
    protected void showItem(Item item) {
        getTree().showItem((TreeItem) item);
    }
 
}