Bug 256764 [Viewers] Does DecoratingStyledCellLabelProvider add/remove the correct listener to/from the decorator
Build ID: M20080911-1700 Steps To Reproduce: Add multiple ILabelProviderListeners to a DecoratingStyledCellLabelProvider and remove one of them. Now the decoration does not work anymore. More information: In the methods addListener and removeListener, the internal labelProviderListener is added/removed to/from the decorator. Maybe this should be the listener that comes as parameter.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingStyledCellLabelProvider.java
.prepareDecoration(element, oldText, getDecorationContext());
		} else if (this.decorator instanceof IDelayedLabelDecorator) {
			isDecorationPending = !((IDelayedLabelDecorator) this.decorator)
					.prepareDecoration(element, oldText);
		}
		if (isDecorationPending && oldText.length() == 0) {
			
			return false;
		}
		return isDecorationPending;
	}
	public void update(ViewerCell cell) {
		if (waitForPendingDecoration(cell)) {
			return; 
		}
		super.update(cell);
	}
	public Color getForeground(Object element) {
		if (this.decorator instanceof IColorDecorator) {
			Color foreground = ((IColorDecorator) this.decorator)
					.decorateForeground(element);
			if (foreground != null)
				return foreground;
		}
		return super.getForeground(element);
	}
	public Color getBackground(Object element) {
		if (this.decorator instanceof IColorDecorator) {
			Color color = ((IColorDecorator) this.decorator)
					.decorateBackground(element);