| Summary: | [KeyBindings] CMD+C not working in (JDT-)popups | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Thomas Schindl <tom.schindl> |
| Component: | UI | Assignee: | Paul Webster <pwebster> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | curtis.windatt.public, daniel_megert, lokffs, markus.kell.r, Michael_Rennie, pwebster |
| Version: | 4.2 | Flags: | Michael_Rennie:
review+
|
| Target Milestone: | 4.3 RC1 | ||
| Hardware: | PC | ||
| OS: | Mac OS X | ||
| See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=407213 | ||
| Whiteboard: | |||
|
Description
Thomas Schindl
This probably depends on your browser i.e. whether it works there or not. It works on 3.8 on OS-X so the problem is introduced Eclipse 4.x > It works on 3.8 on OS-X so the problem is introduced Eclipse 4.x
Maybe a different browser is used in 4.x?
(In reply to comment #3) > > It works on 3.8 on OS-X so the problem is introduced Eclipse 4.x > Maybe a different browser is used in 4.x? I don't think the browser is the problem but most likely the new keybinding mechanism that's used in 4.x This is a bug in the E4 key binding story. To see the bug, set a breakpoint in org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(..), and then e.g. try to copy some text from the Javadoc view. In E4, that method wrongly returns true, although the copy command is not handled. In the end, KeyBindingDispatcher.processKeyEvent(..) sets eatKey to true, which stops the handling of the KeyDown event. In 3.x, org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(..) correctly returns false, and the key is not eaten. On Windows with the IE browser, Ctrl+C still works by accident in E4, due to bug 291483. Bug 75815 would also help fixing the Cmd+C issue, but the KeyBindingDispatcher is still wrong. I face the same issue when using Ctrl+Insert: it works on 3.8.x but not on 4.3 M3. I see this all the time trying to copy things out of popups in the Java editor (Mac OSX Mountain Lion) KeyBindingDispatcher should respect IHandler.isHandled() https://git.eclipse.org/r/12453 PW > https://git.eclipse.org/r/12453
I can confirm that this makes Cmd+C and Cmd+V work on the Mac in the Javadoc view as well as in a Javadoc hover (used <form><input> to get an editable field).
Mike, please review this fix on MacOSX Tried in out in Win7 and Ubuntu Linux but wasn't able to reproduce the problem. I checked that that fix doesn't affect the key listener for the search field. Key events that are handled by a binding are eaten, otherwise they call the key listener. +1, I can now copy / paste out of popups. The changes have been merged via gerrit. in 4.3.0.I20130516-2200 PW |