Bug 15844 [Exception Handling] SelectionChange events and NPE
Build 20020508 Due to new global actions there are now more objects listening to selection changes send out by a JFace viewer. We now had the case that one of the listener generated a NPE. As a result all listeners registered after that one didn't receive the selection change event. StructuredViewers should be more fault tolorant to exceptions when informing listeners.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
setExpanded(item, expanded.contains(newElement));
		}
	}
	
	
	for (int i = min; i < elementChildren.length; ++i) {
		Item item = newItem(widget, SWT.NULL, i);
		associate(elementChildren[i], item);
	}
	
	
	if (widget == tree && oldCnt == 0 && getItemCount(tree) != 0) {
		
		tree.setRedraw(false);
		tree.setRedraw(true);
	}
}
/**
 * Updates the "+"/"-" icon of the tree node from the given element.
 * It calls <code>isExpandable</code> to determine whether 
 * an element is expandable.
 *
 * @param item the item
 * @param element the element
 */
protected void updatePlus(Item item, Object element) {
	boolean hasPlus = getItemCount(item) > 0;
	boolean needsPlus = isExpandable(element);