Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 361297 - Backport to 3.7.2 and 4.1.2 [Browser] Widget disposed when closing internal browser
Summary: Backport to 3.7.2 and 4.1.2 [Browser] Widget disposed when closing internal b...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 3.7   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.7.2   Edit
Assignee: platform-ua-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 311192
Blocks:
  Show dependency tree
 
Reported: 2011-10-18 15:27 EDT by Chris Goldthorpe CLA
Modified: 2011-10-19 13:38 EDT (History)
4 users (show)

See Also:
grant_gayed: review+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Goldthorpe CLA 2011-10-18 15:27:48 EDT
+++ This bug was initially created as a clone of Bug #311192 +++

I20100424-2000

Happens from time to time when closing the browser view immidiatly after it's creation. Can reproduce it most of the time using Mylyn Task editor, open the bug in webbrowser, closing the view while it's still loading.

-- Error Details --
Date: Fri Apr 30 16:52:22 CEST 2010
Message: Widget is disposed
Severity: Error
Product: Eclipse SDK 3.6.0.v201004242000 (org.eclipse.sdk.ide)
Plugin: org.eclipse.ui
Exception Stack Trace:
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:465)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:403)
at org.eclipse.swt.widgets.ToolItem.setEnabled(ToolItem.java:842)
at org.eclipse.ui.internal.browser.BrowserViewer.updateBackNextBusy(BrowserViewer.java:292)
at org.eclipse.ui.internal.browser.BrowserViewer$6.completed(BrowserViewer.java:427)
at org.eclipse.swt.browser.Mozilla$21.run(Mozilla.java:3078)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4280)
at org.eclipse.swt.browser.Mozilla.OnStateChange(Mozilla.java:3085)
at org.eclipse.swt.browser.Mozilla$10.method3(Mozilla.java:855)
at org.eclipse.swt.internal.mozilla.XPCOMObject.callback3(XPCOMObject.java:266)
at org.eclipse.swt.internal.mozilla.XPCOM._JS_EvaluateUCScriptForPrincipals(Native Method)
at org.eclipse.swt.internal.mozilla.XPCOM.JS_EvaluateUCScriptForPrincipals(XPCOM.java:164)
at org.eclipse.swt.browser.Mozilla.execute(Mozilla.java:1135)
at org.eclipse.swt.browser.Mozilla.onDispose(Mozilla.java:2172)
at org.eclipse.swt.browser.Mozilla$5.handleEvent(Mozilla.java:760)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1234)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1239)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1079)
at org.eclipse.swt.widgets.Control.release(Control.java:3292)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
at org.eclipse.swt.widgets.Control.release(Control.java:3292)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
at org.eclipse.swt.widgets.Control.release(Control.java:3292)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1208)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1082)
at org.eclipse.swt.widgets.Control.release(Control.java:3292)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:461)
at org.eclipse.ui.internal.PartPane.dispose(PartPane.java:180)
at org.eclipse.ui.internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java:681)
at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1721)
at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1426)
at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1410)
at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1384)
at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1439)
at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)
at org.eclipse.ui.internal.PartStack.close(PartStack.java:541)
at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)
at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:120)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:83)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:71)
at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:631)
at org.eclipse.ui.internal.presentations.PaneFolder$4.mouseUp(PaneFolder.java:230)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:213)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1234)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3159)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2601)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2565)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2399)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:669)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:662)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
Comment 1 Chris Goldthorpe CLA 2011-10-18 16:13:51 EDT
Grant, I would like to cherry pick the commit below into the maintenance branches for 3.7 and 4.1. Can you review for inclusion in 3.7.2 and 4.1.2?

branch = R3_development
id = ca1553e377556e9ff489e0c07e6c823d7937fc31
message = Bug 311192 - [Browser] Widget disposed when closing internal browser
Comment 2 Grant Gayed CLA 2011-10-19 10:29:01 EDT
+1, the changes seem safe.
Comment 3 Chris Goldthorpe CLA 2011-10-19 13:38:47 EDT
Cherry picked "Bug 311192 - [Browser] Widget disposed when closing internal browser " to R3_7_maintenance and to R4_1_maintenance.

Created commit in R3_7_maintenance with message:
Update bundle version of org.eclipse.ui.browser for 3.7.2 and 4.1.2
Cherry picked that commit to R4_1_maintenance.