Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 339141 - DND of a part in its own stack when the stack only has one child throws SWTException
Summary: DND of a part in its own stack when the stack only has one child throws SWTEx...
Status: RESOLVED WORKSFORME
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-07 15:07 EST by Remy Suen CLA
Modified: 2011-04-05 10:49 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2011-03-07 15:07:03 EST
1. Drag a view that is in a stack with only one child.
2. Make the DND operation be one that'll split the stack into two separate stacks.
3. Release the mouse.
4. An SWTException is thrown.

At this point if you try to reset your perspective all the stacks will go blank. Switching to another perspective and back seems to fix the problem but the system is probably still in a bad state.

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4210)
	at org.eclipse.swt.SWT.error(SWT.java:4125)
	at org.eclipse.swt.SWT.error(SWT.java:4096)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Composite.computeSize(Composite.java:226)
	at org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2219)
	at org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3449)
	at org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3382)
	at org.eclipse.e4.ui.widgets.CTabFolder.onResize(CTabFolder.java:1783)
	at org.eclipse.e4.ui.widgets.CTabFolder$2.handleEvent(CTabFolder.java:272)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
	at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5181)
	at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:291)
	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1662)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4586)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4939)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2519)
	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5416)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4598)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4952)
	at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method)
	at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:949)
	at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:915)
	at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:1126)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1264)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1249)
	at org.eclipse.swt.widgets.Composite.setLayoutDeferred(Composite.java:1086)
	at org.eclipse.swt.widgets.Display.runDeferredLayouts(Display.java:4156)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3714)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.update(DnDManager.java:243)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.SplitDropAgent.dock(SplitDropAgent.java:213)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.SplitDropAgent.drop(SplitDropAgent.java:109)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.finishDrag(DnDManager.java:257)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag(DnDManager.java:233)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager$3.handleEvent(DnDManager.java:110)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4132)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3721)
Comment 1 Remy Suen CLA 2011-04-05 10:49:38 EDT
No longer reproducible on I20110331-2200.