Bug 50022 [DND] NPE in DelegatingDragAdapter
DelegatingDragAdapater defines a list "activeListeners" but initializes it only in DragStart. However, the list is referenced in removeDragSourceListener without a null check, thus causing a null pointer exception if no dragStart ever occured.
bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDragAdapter.java
listeners.remove(listener);
		if (currentListener == listener)
			currentListener = null;
		if (activeListeners.contains(listener))
			activeListeners.remove(listener);
	}
	/**
	 * Updates the current listener to one that can handle the drag. There can 
	 * be many listeners and each listener may be able to handle many <code>TransferData</code> 
	 * types.  The first listener found that supports one of the <code>TransferData</ode> 
	 * types specified in the <code>DragSourceEvent</code> will be selected.
	 * 
	 * @param event the drag source event
	 */
	private void updateCurrentListener(DragSourceEvent event) {
		currentListener = null;
		if (event.dataType == null)
			return;
		Iterator iterator = activeListeners.iterator();
		while (iterator.hasNext()) {
			TransferDragSourceListener listener = (TransferDragSourceListener)iterator.next();
	
			if (listener.getTransfer().isSupportedType(event.dataType)) {
			
				currentListener = listener;
				return;
			}
		}
	}
}