Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 56005

Summary: [DND] npe during part drop.
Product: [Eclipse Project] Platform Reporter: Chris McLaren <csmclaren>
Component: UIAssignee: Stefan Xenos <sxenos>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: michaelvanmeekeren
Version: 3.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Chris McLaren CLA 2004-03-24 14:49:27 EST
I200403240800, close all perspectives, new java perspective. 

select outline view. drag tab to bottom edge of outline view. notice down arrow
and tracking rect over bottom half of view. this was to be the subject of my bug
which i had noticed a number of times previously, as this should never occur
considering the outline view is not part of a stack. 

in this particular case however, the drop causes the outline view to disappear
and the following occurs in the .log:


!SESSION Mar 24, 2004 14:40:08.509
---------------------------------------------java.version=1.4.2_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Command-line arguments: -vmargs -cp /home/cmclaren/eclipse/./startup.jar
org.eclipse.core.launcher.Main
!ENTRY org.eclipse.ui 4 4 Mar 24, 2004 14:40:08.510
!MESSAGE Unhandled event loop exception
!ENTRY org.eclipse.ui 4 0 Mar 24, 2004 14:40:08.511
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
        at org.eclipse.ui.internal.PartTabFolder.getParent(PartTabFolder.java:507)
        at
org.eclipse.ui.internal.RootLayoutContainer.isStackType(RootLayoutContainer.java:215)
        at
org.eclipse.ui.internal.RootLayoutContainer.getDockingRatio(RootLayoutContainer.java:199)
        at
org.eclipse.ui.internal.PartSashContainer.dropObject(PartSashContainer.java:667)
        at
org.eclipse.ui.internal.RootLayoutContainer.dropObject(RootLayoutContainer.java:191)
        at
org.eclipse.ui.internal.PartSashContainer$3.drop(PartSashContainer.java:615)
        at org.eclipse.ui.internal.dnd.DragUtil.performDrag(DragUtil.java:109)
        at org.eclipse.ui.internal.PartTabFolder$1.dragStart(PartTabFolder.java:90)
        at
Iorg.eclipse.ui.internal.presentations.BasicStackPresentation$10.handleEvent(BasicStackPresentation.java:250)
        at
org.eclipse.ui.presentations.PresentationUtil.handleMouseMove(PresentationUtil.java:86)
        at
org.eclipse.ui.presentations.PresentationUtil.access$1(PresentationUtil.java:79)
        at
org.eclipse.ui.presentations.PresentationUtil$2.handleEvent(PresentationUtil.java:58)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:939)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1954)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1727)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1541)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1515)
        at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:257)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:90)
        at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:288)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:116)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:315)
        at org.eclipse.core.launcher.Main.run(Main.java:740)
        at org.eclipse.core.launcher.Main.main(Main.java:724)
Comment 1 Stefan Xenos CLA 2004-03-24 15:37:52 EST
Note: it is perfectly valid start a drag then drop the view back where it came
from... however, you are correct in pointing out that the user should never see
the arrow icons or associated split rectangles for a drop that results in a NOP.

Both issues fixed in head.