Project: Eclipse_Platform_UI
Bug 217761 [Viewers] Widget is disposed when DecoratorManager tries to update Viewer that's gone
Reported: 2008-02-04 16:42:32 | Status: verified fixed

-- Error Log -- Date: Mon Feb 04 13:39:57 PST 2008 Message: Problems occurred when invoking code from plug-in: "org.eclipse.jface". Severity: Error Plugin ID: org.eclipse.jface Stack Trace: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:3563) at org.eclipse.swt.SWT.error(SWT.java:3481) at org.eclipse.swt.SWT.error(SWT.java:3452) 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.Widget.getData(Widget.java:464) at org.eclipse.jface.viewers.AbstractTreeViewer.associate(AbstractTreeViewer.java:688) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:980) at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199) at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2026) at org.eclipse.jface.viewers.StructuredViewer.internalUpdate(StructuredViewer.java:2009) at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:1953) at org.eclipse.jface.viewers.ColumnViewer.update(ColumnViewer.java:553) at org.eclipse.ui.navigator.CommonViewer.update(CommonViewer.java:428) at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:1905) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged(StructuredViewer.java:1118) at org.eclipse.ui.navigator.CommonViewer.handleLabelProviderChanged(CommonViewer.java:177) at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged(ContentViewer.java:74) at org.eclipse.ui.internal.decorators.DecoratorManager$1.run(DecoratorManager.java:239) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857) at org.eclipse.ui.internal.decorators.DecoratorManager.fireListener(DecoratorManager.java:237) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.runInUIThread(DecorationScheduler.java:526) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) 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:169) 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:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 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:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

Files changed in fix:
bundles/org.eclipse.jface/src/org/eclipse/jface/internal/InternalPolicy.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ContentViewer.java