Community
Participate
Working Groups
Build ID: I20080609-1311 Steps To Reproduce: Open a file under CVS control (I'm using the CDT package download & commiting a C file..) 1. Ctrl+3 2. Commit - Commit Resources to the Repository See error below.. More information: !SESSION 2008-06-23 11:10:11.636 ----------------------------------------------- eclipse.buildId=I20080609-1311 java.version=1.6.0_05 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US Command-line arguments: -os linux -ws gtk -arch x86 !ENTRY org.eclipse.ui 4 0 2008-06-23 14:06:09.427 !MESSAGE java.lang.Object cannot be cast to org.eclipse.ui.IWorkbenchPart !STACK 0 java.lang.ClassCastException: java.lang.Object cannot be cast to org.eclipse.ui.IWorkbenchPart at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.updateDelegate(ActionDelegateHandlerProxy.java:319) at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.setEnabled(ActionDelegateHandlerProxy.java:509) at org.eclipse.ui.internal.handlers.HandlerService.executeCommandInContext(HandlerService.java:274) at org.eclipse.ui.internal.quickaccess.CommandElement.execute(CommandElement.java:49) at org.eclipse.ui.internal.quickaccess.QuickAccessDialog.handleElementSelected(QuickAccessDialog.java:675) at org.eclipse.ui.internal.quickaccess.QuickAccessDialog.handleSelection(QuickAccessDialog.java:753) at org.eclipse.ui.internal.quickaccess.QuickAccessDialog.access$6(QuickAccessDialog.java:743) at org.eclipse.ui.internal.quickaccess.QuickAccessDialog$3.keyPressed(QuickAccessDialog.java:175) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:155) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1194) at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:698) at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2761) at org.eclipse.swt.widgets.Text.gtk_key_press_event(Text.java:1324) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1543) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4502) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4099) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5783) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1541) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3031) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) 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:382) 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:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Another steps: Open a file under CVS control (can be just Java file) 1. Ctrl+3 2. Choose Commit 3. Cancel the commit dialog mouseUp in the mouse listener (QuickAccessDialog line 274) is triggered on Linux, but not on Win XP. On Linux in HandlerService#executeCommandInContext, method getCurrentState returns a context where "activeEditor" is an Object. This results with CCEx in ActionDelegateHandlerProxy. I'm moving it to UI for a comment.
Will, does the command work correctly if accessed through the context menu (how about if it's key bound) ?
(In reply to comment #2) > Will, does the command work correctly if accessed through the context menu (how > about if it's key bound) ? Yes. Using the context menu and key bindings it works ok.
(In reply to comment #3) > (In reply to comment #2) > > Will, does the command work correctly if accessed through the context menu (how > > about if it's key bound) ? > > Yes. Using the context menu and key bindings it works ok. > I can confirm the same behavior - context menu and key binding works fine.
Paul, do you know why ActionDelegateHandlerProxy unconditionally downcasts to IWorkbenchPart?
(In reply to comment #5) > Paul, do you know why ActionDelegateHandlerProxy unconditionally downcasts to > IWorkbenchPart? It never used to be an issue (in that you can't have an IObjectActionDelegate with no active part). PW
Remy is now responsible for watching bugs in the [QuickAccess] component area.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.