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/ViewerColumn.java
*/
	protected ViewerColumn(final ColumnViewer viewer, Widget columnOwner) {
		columnOwner.setData(ViewerColumn.COLUMN_VIEWER_KEY, this);
		this.listener = new ILabelProviderListener() {
			public void labelProviderChanged(LabelProviderChangedEvent event) {
				viewer.handleLabelProviderChanged(event);
			}
		};
		columnOwner.addDisposeListener(new DisposeListener() {
			public void widgetDisposed(DisposeEvent e) {
				handleDispose();
			}
		});
	}
	/**
	 * Return the label provider for the receiver.
	 * 
	 * @return ViewerLabelProvider
	 */
	CellLabelProvider getLabelProvider() {
		return labelProvider;
	}
	/**
	 * Set the label provider for the column.
	 * 
	 * @param labelProvider
	 *            the new {@link CellLabelProvider}
	 */
	public final void setLabelProvider(CellLabelProvider labelProvider) {
		setLabelProvider(labelProvider, true);