Bug 185569 [CommonNavigator] CommonDragAdapter should provide ways for CommonDragAdapterAssistant to perform clean up after drag has finished
Build ID: M20070212-1330 Steps To Reproduce: I am not sure if this has been fixed in later releases (I am currently working with 3.2.0). The CommonDragAdapter class used by CommonNavigator does not allow CommonDragAdapterAssistant contributions to perform clean up after drag has finished. In my version of CommonDragAdapter, its dragFinished method contains comments saying // TODO Handle clean up if drop target was outside of workbench that's why I am not sure if later versions have already addressed this issue. More information:
tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/SWTEventHelper.java
System.out.println("WARNING: DnD failed - drag gesture not detected retrying");
				DisplayHelper.sleep(Display.getCurrent(), 1000);
			}
		}
		if (!_dragDetected) {
			System.out
					.println("WARNING: DnD FAILED after " + count + " tries, giving up");
		}
		return _dragDetected;
	}
	public static void performTreeDnDInteral(TreeItem startItem,
			TreeItem dropItem) {
		Rectangle boundsStart, boundsEnd;
		int fudge = 0;
		int gestureSize = 10;
		boundsStart = Display.getCurrent().map(startItem.getParent(), null,
				startItem.getBounds());
		boundsEnd = Display.getCurrent().map(dropItem.getParent(), null,
				dropItem.getBounds());
		int xstart = boundsStart.x + fudge;
		int ystart = boundsStart.y + fudge;
		int xend = boundsEnd.x + fudge;
		int yend = boundsEnd.y + fudge;
		boolean possibleTrue = true;
		if (Platform.getOS().equals(Platform.OS_WIN32)) {
			possibleTrue = false;
			gestureSize = 3;
		}
		SWTEventHelper.mouseMoveEvent(Display.getCurrent(), xstart, ystart,
				false);