Project: JDT
Bug 217973 [breadcrumb] Widget disposed when shut down eclipse with open drop down
Reported: 2008-02-06 05:41:12 | Status: verified fixed

I20080129-1400 1. Open a drop down 2. shut down eclipse Is: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:3716) at org.eclipse.swt.SWT.error(SWT.java:3634) at org.eclipse.swt.SWT.error(SWT.java:3605) at org.eclipse.swt.widgets.Widget.error(Widget.java:438) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:376) at org.eclipse.swt.widgets.Shell.close(Shell.java:537) at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbItemDropDown$7.handleEvent(BreadcrumbItemDropDown.java:310) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1393) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1112) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1118) at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:3239) at org.eclipse.swt.widgets.Control.gtk_event_after(Control.java:2639) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1493) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4468) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4026) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5710) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1163) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1504) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2980) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:165) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:360) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:499) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvisor.java:396) at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.postShutdown(IDEWorkbenchAdvisor.java:313) at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:2715) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:925) at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:842) at org.eclipse.ui.internal.Workbench$22.run(Workbench.java:1086) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1084) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1056) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:693) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:672) at org.eclipse.ui.internal.WorkbenchWindow$2.run(WorkbenchWindow.java:787) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:785) at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741) at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:91) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1122) at org.eclipse.swt.widgets.Shell.closeWidget(Shell.java:542) at org.eclipse.swt.widgets.Shell.gtk_delete_event(Shell.java:976) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1490) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4468) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4026) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5710) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1163) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1504) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2980) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2392) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2356) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2222) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:474) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:469) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175) 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.equinox.launcher.Main.invokeFramework(Main.java:564) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1251) at org.eclipse.equinox.launcher.Main.main(Main.java:1227) This on linux and osx

Files changed in fix:
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/breadcrumb/BreadcrumbItemDropDown.java