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/Viewer.java
protected static final String WIDGET_DATA_KEY = "org.eclipse.jface.viewers.WIDGET_DATA";
/**
 * Creates a new viewer.
 */
protected Viewer() {
}
/**
 * Adds a listener for help requests in this viewer.
 * Has no effect if an identical listener is already registered.
 *
 * @param listener a help listener
 */
public void addHelpListener(HelpListener listener) {
	helpListeners.add(listener);
	if (!helpHooked) {
		Control control = getControl();
		if (control != null && !control.isDisposed()) {
			if (this.helpListener == null) {
				this.helpListener = new HelpListener() {
					public void helpRequested(HelpEvent event) {
						handleHelpRequest(event);
					}
				};
			}
			control.addHelpListener(this.helpListener);
			helpHooked = true;
		}
	}
}
/* (non-Javadoc)