Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 311421 - [Compatibility] Some multi-keystroke keybindings don't work
Summary: [Compatibility] Some multi-keystroke keybindings don't work
Status: RESOLVED FIXED
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Remy Suen CLA
QA Contact: Paul Webster CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-03 15:37 EDT by Remy Suen CLA
Modified: 2010-05-05 16:07 EDT (History)
0 users

See Also:


Attachments
LegacyIDE.e4xmi patch (2.75 KB, patch)
2010-05-04 09:36 EDT, Remy Suen CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2010-05-03 15:37:52 EDT
What works:
Alt+Shift+Q, Q brings up the view dialog.
Alt+Shift+X, J runs Java applications.

What doesn't work:
Ctrl+2, L to assign a method's return value to a new local variable.
Alt+Shift+Q, ? to bring up a specific view.
Comment 1 Remy Suen CLA 2010-05-03 15:53:18 EDT
(In reply to comment #0)
> Alt+Shift+Q, ? to bring up a specific view.

Looks like we have an exception here that was hidden by bug 311422.

org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
	at org.eclipse.e4.core.internal.di.MethodRequestor.callMethod(MethodRequestor.java:64)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:32)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:182)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:163)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:103)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:114)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:260)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:456)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:506)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:339)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:285)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:74)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1253)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1051)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1102)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1098)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1507)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4267)
	at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4159)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
	at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$4.run(PartRenderingEngine.java:517)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.run(PartRenderingEngine.java:455)
	at org.eclipse.e4.workbench.ui.internal.E4Workbench.createAndRunUI(E4Workbench.java:100)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:533)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:519)
	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:48)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	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)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: java.lang.NullPointerException
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:103)
	at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:55)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:55)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:600)
	at org.eclipse.e4.core.internal.di.MethodRequestor.callMethod(MethodRequestor.java:57)
	... 49 more
Comment 2 Remy Suen CLA 2010-05-04 08:08:55 EDT
(In reply to comment #0)
> Ctrl+2, L to assign a method's return value to a new local variable.

Can't find a handler for "org.eclipse.jdt.ui.correction.assignToLocal.assist" it seems.
Comment 3 Remy Suen CLA 2010-05-04 09:08:29 EDT
(In reply to comment #2)
> (In reply to comment #0)
> > Ctrl+2, L to assign a method's return value to a new local variable.
> 
> Can't find a handler for "org.eclipse.jdt.ui.correction.assignToLocal.assist"
> it seems.

This is because it tries to evaluate the currently active site. With bug 311538, part sites are now thrown into the context so this multi-keystroke keybinding now works.
Comment 4 Remy Suen CLA 2010-05-04 09:36:21 EDT
Created attachment 166951 [details]
LegacyIDE.e4xmi patch

I've made the necessary changes to ShowViewHandler to allow for the passing of a string parameter that specifies the view to be shown. However, this requires changes to our e4xmi file also.

Paul or John, could one of you guys commit this to R4_HEAD?
Comment 5 Paul Webster CLA 2010-05-04 09:40:43 EDT
(In reply to comment #4)
> Created an attachment (id=166951) [details]
> LegacyIDE.e4xmi patch

Released to R4_HEAD
PW
Comment 6 Remy Suen CLA 2010-05-05 16:07:24 EDT
(In reply to comment #0)
> What works:
> Alt+Shift+Q, Q brings up the view dialog.
> Alt+Shift+X, J runs Java applications.
> 
> What doesn't work:
> Ctrl+2, L to assign a method's return value to a new local variable.
> Alt+Shift+Q, ? to bring up a specific view.

These all work in build #62.