Community
Participate
Working Groups
We're using the v20080708_34x version of org.eclipse.ui.forms and getting an SWT exception because AbstractHyperlink.handleActivate(Event) does not check if widget is disposed or not before calling triggerAccessible(). To reproduce, attach a listener to the hyperlink that is set to dispose the same hyperlink after the link is activated. This use to work in v20080611 when the call to triggerAccessible() was made before notifying the listeners. Exception trace: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.widgets.Widget.error(Unknown Source) at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source) at org.eclipse.swt.widgets.Control.getAccessible(Unknown Source) at org.eclipse.ui.forms.widgets.AbstractHyperlink.triggerAccessible(Unknown Source) at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(Unknown Source) at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(Unknown Source) at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(Unknown Source) at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source) at org.eclipse.ui.internal.Workbench.runUI(Unknown Source) at org.eclipse.ui.internal.Workbench.access$4(Unknown Source) at org.eclipse.ui.internal.Workbench$5.run(Unknown Source) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source) at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source) at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source) at org.eclipse.equinox.launcher.Main.run(Unknown Source) at org.eclipse.equinox.launcher.Main.main(Unknown Source)
Created attachment 114853 [details] proposed patch proposed patch
Created attachment 114854 [details] mylyn/context/zip
I guess this is more suitable for the UA component, sorry about opening this in SWT
Reproduced the bug and verified the patch against both HEAD and 3.4.x. The fix looks good. Delivered to HEAD and R3_4_maintenance.
*** Bug 250461 has been marked as a duplicate of this bug. ***
*** Bug 242902 has been marked as a duplicate of this bug. ***
*** Bug 250282 has been marked as a duplicate of this bug. ***
Created attachment 115441 [details] applied patch A modified version of the previous patch that adds a statement to the copyright to attribute the contribution to Izzet. This is the patch that was applied to all branches.
*** Bug 251411 has been marked as a duplicate of this bug. ***
*** Bug 258886 has been marked as a duplicate of this bug. ***
*** Bug 262281 has been marked as a duplicate of this bug. ***
*** Bug 259887 has been marked as a duplicate of this bug. ***