Community
Participate
Working Groups
1. Detach the 'Outline' view. 2. Window > Reset Perspective... > OK 3. An SWTException is thrown. Switching perspectives seems to fix the problem but an error will now be thrown every time you reset the persepctive. org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:4270) at org.eclipse.swt.SWT.error(SWT.java:4185) at org.eclipse.swt.SWT.error(SWT.java:4156) 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:5156) 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:4957) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2520) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5391) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4599) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4970) 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.WM_SIZE(Composite.java:1677) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4586) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4957) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2520) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5391) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4599) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4957) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1457) at org.eclipse.swt.widgets.Control.setBounds(Control.java:3111) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1019) at org.eclipse.swt.widgets.Control.setBounds(Control.java:3072) at org.eclipse.swt.widgets.Control.setBounds(Control.java:3068) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:201) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1263) 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:4174) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3732) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:842) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:758) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87)
Created attachment 190705 [details] Patch to route TB disposal through removeGui This appears to be related to removing MRenderedToolbars in favor of using 'regular' MToolbars. BTW, this has nothing to do with Detached windows, you can induce it simply by resetting the perspective.
I opened bug 339344 to SWT to consider not choking when the top right control has been disposed.
Fixed by the changes for bug 339286. Verified that resetting works on Windows XP with I20110310-2200. *** This bug has been marked as a duplicate of bug 339286 ***