Community
Participate
Working Groups
Build Identifier: 3.6.0 This bug appears when toolTip is shown in a just opened shell for some focused control(text, combo). This bug could be fixed this way(when you create handler for shell listener) you have to check whether tooltip was disposed and only after that check if it is CURRENT_TOOLTIP: control.getDisplay().asyncExec(new Runnable() { public void run() { if (!control.isDisposed() && control.getDisplay().getActiveShell() != CURRENT_TOOLTIP) { toolTipHide(CURRENT_TOOLTIP, event); } } }); Reproducible: Always Steps to Reproduce: 1.Create simple shell with text control(for example) and button "Apply" 2.Create DefaultToolTip for text control 4.Open this shell and press Apply button(some times this bug happens when user presses window close button(x)).
Uncaught exception org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at com.uwiss.jenive.swtjface.AbstractApp$1.run(AbstractApp.java:99) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at com.uwiss.jenive.swtjface.AbstractApp.run(AbstractApp.java:80) at com.uwiss.nederinum.client.App.main(App.java:51) Caused by: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.SWT.error(SWT.java:3969) at org.eclipse.swt.widgets.Widget.error(Widget.java:468) at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:582) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) ... 6 more
Uncaught exception org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660) at com.uwiss.jenive.swtjface.AbstractApp$1.run(AbstractApp.java:99) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at com.uwiss.jenive.swtjface.AbstractApp.run(AbstractApp.java:80) at com.uwiss.nederinum.client.App.main(App.java:51) Caused by: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:4083) at org.eclipse.swt.SWT.error(SWT.java:3998) at org.eclipse.swt.SWT.error(SWT.java:3969) at org.eclipse.swt.widgets.Widget.error(Widget.java:468) at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:582) at org.eclipse.jface.window.ToolTip$3.run(ToolTip.java:124) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) ... 6 more
This error report is not quite right
(In reply to comment #3) > This error report is not quite right First of two error reports is not quite right, use second
Another vote for this... The ToolTip shell listener should not be checking for whether the control is disposed and then scheduling a Runnable on the display thread as the control may have been disposed by the time it gets scheduled. This check should be performed within the Runnable as Yelyena points out.
Another Vote for this
Duplicate of bug 462065, already fixed [1]. [1] http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/bundles/org.eclipse.jface/src/org/eclipse/jface/window/ToolTip.java?id=31d430c93dc8b810957cd301d20a0023eda6197e
*** This bug has been marked as a duplicate of bug 462065 ***