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
* The drag is aborted if there are no listeners that can handle it.  
	 * 
	 * @param event the drag source event
	 * @see DragSourceListener#dragStart(DragSourceEvent)
	 */
	public void dragStart(final DragSourceEvent event) {
		boolean doit = false;	
		List transfers = new ArrayList(listeners.size());
		
		activeListeners = new ArrayList();
		for (int i = 0; i < listeners.size(); i++) {
			final TransferDragSourceListener listener = (TransferDragSourceListener)listeners.get(i);
			event.doit = true;		
			Platform.run(new SafeRunnable() {
				public void run() throws Exception {			
					listener.dragStart(event);
				}
			});
			if (event.doit) { 		
				transfers.add(listener.getTransfer());
				activeListeners.add(listener);
			}
			doit |= event.doit;
		}
		
		if (doit)
			((DragSource)event.widget).setTransfer(
				(Transfer[])transfers.toArray(new Transfer[transfers.size()]));
		
		event.doit = doit;