Bug 166052 [Viewers] Regression: decorator of DecoratingLabelProvider completely replaces label provider
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.ITreePathLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel,
	 *      org.eclipse.jface.viewers.TreePath)
	 */
	public void updateLabel(ViewerLabel settings, TreePath elementPath) {
		ILabelDecorator currentDecorator = getLabelDecorator();
		String oldText = settings.getText();
		Object element = elementPath.getLastSegment();
		boolean decorationReady = true;
		if (currentDecorator instanceof LabelDecorator) {
			LabelDecorator labelDecorator = (LabelDecorator) currentDecorator;
			if (!labelDecorator.prepareDecoration(element, oldText,
					getDecorationContext())) {
				
				
				decorationReady = false;
			}
		} else if (currentDecorator instanceof IDelayedLabelDecorator) {
			IDelayedLabelDecorator delayedDecorator = (IDelayedLabelDecorator) currentDecorator;
			if (!delayedDecorator.prepareDecoration(element, oldText)) {
				
				
				decorationReady = false;
			}
		}
		settings.setHasPendingDecorations(!decorationReady);