| Summary: | Classcast exception in setEnabled in actionhandlers on shutdown | ||
|---|---|---|---|
| Product: | [Technology] EGit | Reporter: | Robin Rosenberg <robin.rosenberg> |
| Component: | UI | Assignee: | Project Inbox <egit.ui-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | jens.baumgart, mathias.kinzler |
| Version: | unspecified | ||
| Target Milestone: | 0.9.0-M2 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Robin Rosenberg
Who's assigning a plain Object to the selection?
java.lang.ClassCastException: java.lang.Object cannot be cast to org.eclipse.jface.viewers.ISelection
at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelection(RepositoryActionHandler.java:192)
at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelectedResources(RepositoryActionHandler.java:276)
at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelectedProjects(RepositoryActionHandler.java:255)
at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getRepository(RepositoryActionHandler.java:127)
at org.eclipse.egit.ui.internal.actions.BranchActionHandler.isEnabled(BranchActionHandler.java:81)
at org.eclipse.egit.ui.internal.actions.RepositoryAction.isEnabled(RepositoryAction.java:128)
at org.eclipse.egit.ui.internal.actions.RepositoryAction.selectionChanged(RepositoryAction.java:105)
at org.eclipse.ui.internal.PluginAction.refreshEnablement(PluginAction.java:206)
at org.eclipse.ui.internal.PluginAction.selectionChanged(PluginAction.java:277)
at org.eclipse.ui.internal.ObjectPluginAction.partClosed(ObjectPluginAction.java:49)
at org.eclipse.ui.internal.PartListenerList2$3.run(PartListenerList2.java:100)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
at org.eclipse.ui.internal.PartListenerList2.firePartClosed(PartListenerList2.java:98)
at org.eclipse.ui.internal.PartService.firePartClosed(PartService.java:227)
at org.eclipse.ui.internal.WorkbenchPagePartList.firePartClosed(WorkbenchPagePartList.java:39)
at org.eclipse.ui.internal.PartList.partClosed(PartList.java:274)
at org.eclipse.ui.internal.PartList.removePart(PartList.java:186)
at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1720)
at org.eclipse.ui.internal.WorkbenchPage.partRemoved(WorkbenchPage.java:1713)
at org.eclipse.ui.internal.ViewFactory.releaseView(ViewFactory.java:257)
at org.eclipse.ui.internal.Perspective.dispose(Perspective.java:292)
at org.eclipse.ui.internal.WorkbenchPage.dispose(WorkbenchPage.java:1792)
at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages(WorkbenchWindow.java:861)
at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1696)
at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:734)
at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710)
at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826)
Merged as a42f327f228eb877e1e8684687f2e965acb51fed Still occurs: in my scenario the workbench window is still there when the problem occurs: java.lang.ClassCastException: java.lang.Object cannot be cast to org.eclipse.jface.viewers.ISelection at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelection(RepositoryActionHandler.java:196) at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelectedResources(RepositoryActionHandler.java:280) at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelectedProjects(RepositoryActionHandler.java:259) at org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getRepository(RepositoryActionHandler.java:128) at org.eclipse.egit.ui.internal.actions.FetchActionHandler.isEnabled(FetchActionHandler.java:52) at org.eclipse.egit.ui.internal.actions.RepositoryAction.isEnabled(RepositoryAction.java:128) at org.eclipse.egit.ui.internal.actions.RepositoryAction.selectionChanged(RepositoryAction.java:105) at org.eclipse.ui.internal.PluginAction.refreshEnablement(PluginAction.java:206) at org.eclipse.ui.internal.PluginAction.selectionChanged(PluginAction.java:277) at org.eclipse.ui.internal.ObjectPluginAction.partClosed(ObjectPluginAction.java:49) at org.eclipse.ui.internal.PartListenerList2$3.run(PartListenerList2.java:100) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.runtime.Platform.run(Platform.java:888) at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55) at org.eclipse.ui.internal.PartListenerList2.firePartClosed(PartListenerList2.java:98) at org.eclipse.ui.internal.PartService.firePartClosed(PartService.java:227) at org.eclipse.ui.internal.WorkbenchPagePartList.firePartClosed(WorkbenchPagePartList.java:39) at org.eclipse.ui.internal.PartList.partClosed(PartList.java:274) at org.eclipse.ui.internal.PartList.removePart(PartList.java:186) at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1720) at org.eclipse.ui.internal.WorkbenchPage.partRemoved(WorkbenchPage.java:1713) at org.eclipse.ui.internal.ViewFactory.releaseView(ViewFactory.java:257) at org.eclipse.ui.internal.Perspective.dispose(Perspective.java:292) at org.eclipse.ui.internal.WorkbenchPage.dispose(WorkbenchPage.java:1792) at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages(WorkbenchWindow.java:861) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1696) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:734) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710) at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:824) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109) at org.eclipse.ui.internal.Workbench$18.run(Workbench.java:1105) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1102) at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:1031) at org.eclipse.ui.internal.Workbench$25.run(Workbench.java:1275) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1273) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1245) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:731) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710) at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:824) at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741) Reopened so that we can accomodate the additional changes here. Fix proposed: http://egit.eclipse.org/r/#change,1336 Merged as 25add621623a5eb15c26bd623510e862b1ef2b2f |