Project: Eclipse_Platform_UI
Bug 62325 Unhandled event loop exception: Graphic is disposed
Reported: 2004-05-14 14:06:06 | Status: verified fixed

1. Open a couple of Java or text editors in the same workbook 2. Drag one editor to create another workbook 3. Drag and drop the previous editor to the initial workbook 4. If you select the editor's tab, it will not be highlighted with the approriate color (highlighted using the inactive color which suggests that there is maybe another workbook that believes it still owns the editor) 5. Try to close the dropped editor, you will get an Unhandled event loop exception Reason: Graphic is disposed Note that this does not happen with integration build 20040513 but it does when I synchronized my code on May 14, 2004. Here is the stack trace : Thread [main] (Suspended (exception SWTException)) SWT.error(int, Throwable, String) line: 2691 SWT.error(int, Throwable) line: 2614 SWT.error(int) line: 2585 Image.getBounds() line: 950 CTabItem.preferredWidth(GC, boolean, boolean) line: 611 CTabFolder.setItemSize() line: 2713 CTabFolder.updateItems() line: 3399 CTabFolder.setSelection(int) line: 2927 PaneFolder.setSelection(int) line: 471 DefaultEditorPresentation(DefaultPartPresentation).selectPart (IPresentablePart) line: 856 EditorStack(PartStack).refreshPresentationSelection() line: 799 EditorStack(PartStack).setSelection(LayoutPart) line: 774 EditorStack.setVisibleEditor(EditorPane) line: 161 EditorAreaHelper.setVisibleEditor(IEditorReference, boolean) line: 326 EditorManager.setVisibleEditor(IEditorReference, boolean) line: 1048 WorkbenchPage.bringToTop(IWorkbenchPart) line: 586 WorkbenchPage.activate(IWorkbenchPart) line: 454 WorkbenchPage.closeEditor(IEditorPart, boolean) line: 988 WorkbenchPage.closeEditor(IEditorReference, boolean) line: 932 EditorPane.doHide() line: 97 EditorStack(PartStack).close(IPresentablePart) line: 219 EditorStack.close(IPresentablePart[]) line: 199 PartStack$1.close(IPresentablePart[]) line: 72 DefaultPartPresentation$1.closeButtonPressed(CTabItem) line: 104 PaneFolder.notifyCloseListeners(CTabItem) line: 417 PaneFolder$1.close(CTabFolderEvent) line: 123 CTabFolder.onMouse(Event) line: 2001 CTabFolder$1.handleEvent(Event) line: 292 EventTable.sendEvent(Event) line: 82 CTabFolder(Widget).sendEvent(Event) line: 796 Display.runDeferredEvents() line: 2716 Display.readAndDispatch() line: 2382 Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1363 Workbench.runUI() line: 1334 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 253 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 141 IDEApplication.run(Object) line: 97 PlatformActivator$1.run(Object) line: 283 EclipseStarter.run(Object) line: 242 EclipseStarter.run(String[], Runnable) line: 119 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object[]) line: 324 Main.basicRun(String[]) line: 184 Main.run(String[]) line: 637 Main.main(String[]) line: 621

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DefaultStackPresentationSite.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPane.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorStack.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartStack.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPane.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewStack.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dnd/SwtUtil.java