Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 339184 - Deleting branch resulted in 'Widget is disposed error'
Summary: Deleting branch resulted in 'Widget is disposed error'
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 0.12   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-08 04:40 EST by Bernard Leach CLA
Modified: 2011-04-05 18:55 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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