Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339184

Summary: Deleting branch resulted in 'Widget is disposed error'
Product: [Technology] EGit Reporter: Bernard Leach <leachbj>
Component: UIAssignee: Project Inbox <egit.ui-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: matthias.sohn, oyvind.harboe
Version: 0.12   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Bernard Leach CLA 2011-03-08 04:40:19 EST
From the branch dialog I selected delete to remove an old branch (which was actually the same commit as my current branch) and the 'Widget is disposed error' occurred.

The history view was on screen so perhaps it was the branch tag widget?  The history was showing the branch however after the delete operation its no longer visible in history even though its visible in the Branch list dialog.

Using latest nightly build.
Comment 1 Oyvind Harboe CLA 2011-03-29 02:42:24 EDT
Same thing here. 

Here is the exception:

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:466)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:403)
	at org.eclipse.swt.widgets.Tree.getSelection(Tree.java:1708)
	at org.eclipse.jface.viewers.TreeViewer.getSelection(TreeViewer.java:256)
	at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:344)
	at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2480)
	at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2903)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1429)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1485)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537)
	at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1208)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1444)
	at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1198)
	at org.eclipse.egit.ui.internal.dialogs.BranchSelectionDialog$3$1.postExecuteSuccess(BranchSelectionDialog.java:188)
	at org.eclipse.core.commands.Command.firePostExecuteSuccess(Command.java:641)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:477)
	at org.eclipse.egit.ui.internal.dialogs.BranchSelectionDialog$3.widgetSelected(BranchSelectionDialog.java:202)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.egit.ui.internal.branch.BranchOperationUI.start(BranchOperationUI.java:92)
	at org.eclipse.egit.ui.internal.actions.BranchActionHandler.execute(BranchActionHandler.java:29)
	at org.eclipse.egit.ui.internal.actions.RepositoryAction.run(RepositoryAction.java:85)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	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 2 Kevin Sawicki CLA 2011-04-04 20:38:19 EDT
I think this is due to an execution listener not being cleaned up and refreshing a branch tree
from a previous invocation of the branch selection dialog.
Comment 3 Kevin Sawicki CLA 2011-04-04 20:40:16 EDT
Fix pushed to: http://egit.eclipse.org/r/#change,3005
Comment 4 Matthias Sohn CLA 2011-04-05 18:55:52 EDT
merged as 0ee4c7f4c9cb3e20adc204bfc1063e089193960c