Bug 166052 [Viewers] Regression: decorator of DecoratingLabelProvider completely replaces label provider
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
}
			}
			this.decorator = decorator;
			if (decorator != null) {
				for (int i = 0; i < listenerList.length; ++i) {
					decorator
							.addListener((ILabelProviderListener) listenerList[i]);
				}
			}
			fireLabelProviderChanged(new LabelProviderChangedEvent(this));
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.IViewerLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel,
	 *      java.lang.Object)
	 */
	public void updateLabel(ViewerLabel settings, Object element) {
		ILabelDecorator currentDecorator = getLabelDecorator();
		String oldText = settings.getText();
		boolean decorationReady = true;
		if (currentDecorator instanceof IDelayedLabelDecorator) {
			IDelayedLabelDecorator delayedDecorator = (IDelayedLabelDecorator) currentDecorator;
			if (!delayedDecorator.prepareDecoration(element, oldText)) {
				
				
				decorationReady = false;
			}
		}