Bug 303951 [DND] Failed to drag Outline to Package Explorer
I grabbed the outline view with the intention of dropping it in the same stack as the Package Explorer. I failed to drop and now I can't get rid of the drag box (except by killing the app). It provided these stack traces (the last one repeated ad infinitum). !ENTRY org.eclipse.ui 4 4 2010-02-25 13:38:22.020 !MESSAGE unsupported: getAggregateWorkingSet 2010-02-25 13:38:44.079 Log ErrorException while dispatching event org.osgi.service.event.Event [topic=org/eclipse/e4/ui/model/application/ElementContainer/children/REMOVE] to handler org.eclipse.e4.ui.services.internal.events.UIEventHandler@42444244 java.lang.IllegalArgumentException: Argument not valid at org.eclipse.swt.SWT.error(SWT.java:4064) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.SWT.error(SWT.java:3969) at org.eclipse.swt.custom.SashForm.setWeights(SashForm.java:422) at org.eclipse.e4.workbench.ui.renderers.swt.SashRenderer.synchSashToModel(SashRenderer.java:367) at org.eclipse.e4.workbench.ui.renderers.swt.SashRenderer.hideChild(SashRenderer.java:279) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$2.handleEvent(PartRenderingEngine.java:159) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:41) at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:188) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:198) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:139) at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78) at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39) at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:73) at org.eclipse.e4.workbench.ui.internal.UIEventPublisher.notifyChanged(UIEventPublisher.java:58) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:280) at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1033) at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1038) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.remove(NotifyingListImpl.java:724) at org.eclipse.emf.common.util.AbstractEList.remove(AbstractEList.java:466) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DragHost.attach(DragHost.java:78) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DragHost.<init>(DragHost.java:51) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager.startDrag(DnDManager.java:238) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager$3.handleEvent(DnDManager.java:103) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1520) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1222) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3519) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3150) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$5.run(PartRenderingEngine.java:535) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.run(PartRenderingEngine.java:457) at org.eclipse.e4.workbench.ui.internal.E4Workbench.createAndRunUI(E4Workbench.java:73) at org.eclipse.e4.ui.workbench.swt.internal.E4Application.start(E4Application.java:107) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566) at org.eclipse.equinox.launcher.Main.run(Main.java:1363) at org.eclipse.equinox.launcher.Main.main(Main.java:1339) java.lang.ClassCastException: org.eclipse.e4.ui.model.application.impl.PartStackImpl incompatible with org.eclipse.e4.ui.model.application.MPart at org.eclipse.e4.ui.model.application.impl.PartStackImpl.setSelectedElement(PartStackImpl.java:1) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DragHost.drop(DragHost.java:133) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager.endDrag(DnDManager.java:222) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager$2.handleEvent(DnDManager.java:73) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1520) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1222) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3519) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3150) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$5.run(PartRenderingEngine.java:535) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.run(PartRenderingEngine.java:457) at org.eclipse.e4.workbench.ui.internal.E4Workbench.createAndRunUI(E4Workbench.java:73) at org.eclipse.e4.ui.workbench.swt.internal.E4Application.start(E4Application.java:107) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566) at org.eclipse.equinox.launcher.Main.run(Main.java:1363) at org.eclipse.equinox.launcher.Main.main(Main.java:1339) java.lang.NullPointerException at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager.updateOverlay(DnDManager.java:160) at org.eclipse.e4.workbench.ui.renderers.swt.dnd.DnDManager$3.handleEvent(DnDManager.java:94) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1520) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1222) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3519) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3150) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$5.run(PartRenderingEngine.java:535) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.run(PartRenderingEngine.java:457) at org.eclipse.e4.workbench.ui.internal.E4Workbench.createAndRunUI(E4Workbench.java:73) at org.eclipse.e4.ui.workbench.swt.internal.E4Application.start(E4Application.java:107) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566) at org.eclipse.equinox.launcher.Main.run(Main.java:1363) at org.eclipse.equinox.launcher.Main.main(Main.java:1339)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/dnd/DnDManager.java
if (enable) {
			display.addFilter(SWT.MouseMove, mouseMoveListener);
			display.addFilter(SWT.MouseDown, mouseButtonListener);
			display.addFilter(SWT.MouseUp, mouseButtonListener);
			display.addFilter(SWT.KeyDown, keyListener);
			
			MWindow dragWindow = findDragHost();
			if (dragWindow != null) {
				dragHost = new DragHost((Shell) dragWindow.getWidget());
			}
		} else {
			if (dragHost != null) {
				cancelDrag();
			}
			display.removeFilter(SWT.MouseMove, mouseMoveListener);
			display.removeFilter(SWT.MouseDown, mouseButtonListener);
			display.removeFilter(SWT.MouseUp, mouseButtonListener);
			display.removeFilter(SWT.KeyDown, keyListener);
		}
	}
	private MWindow findDragHost() {
		for (MUIElement element : baseWindow.getChildren()) {
			if (element.getTags() != null
					&& element.getTags().indexOf("dragHost") >= 0) 
				return (MWindow) element;
		}
		return null;
	}
}