Bug 166635 [Viewers] DelegatingCellLabelProvider breaks OwnerDrawLabelProvider
OwnerDrawLabelProviders are now being wrapped in DelegatingCellLabelProviders so the event handling code fails as we can no longer access the label provider CellLabelProvider provider = viewer .getViewerColumn(event.index).getLabelProvider(); Object element = event.item.getData(); if (provider instanceof OwnerDrawLabelProvider) ((OwnerDrawLabelProvider) provider).measure(event, element);
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellLabelProvider.java
/**
	 * Create a new instance of the receiver.
	 */
	public CellLabelProvider() {
		super();
	}
	/**
	 * Create a ViewerLabelProvider for the column at index
	 * 
	 * @param labelProvider
	 *            The labelProvider to convert
	 * @return ViewerLabelProvider
	 */
	 static CellLabelProvider createViewerLabelProvider(
			IBaseLabelProvider labelProvider) {
		if (labelProvider instanceof ITableLabelProvider
				|| labelProvider instanceof ITableColorProvider
				|| labelProvider instanceof ITableFontProvider)
			return new TableColumnViewerLabelProvider(labelProvider);
		if (labelProvider instanceof CellLabelProvider)
			return new DelegatingCellLabelProvider((CellLabelProvider) labelProvider);
		return new WrappedViewerLabelProvider(labelProvider);
	}
	
	/**
	 * Get the image displayed in the tool tip for object.
	 * 
	 * @param object