Bug 67413 [KeyBindings] misc: Block accelerators that are in use
I meet a error after following these steps: - Remove hot keys Navigate->Open:F3 then add a new one Ctrl+Enter - Remove hot keys Edit->Find Previous:Ctrl+Shift+K then add a new one Shift+F3 - Remove hot keys Edit->Find Next:Ctrl+K then add a new one F3 Everything work fine with the new assigned keys except for editing an ant file (build.xml). When editing ant file, the ui understand the old hot keys: F3 for open and Ctrl+K for Find Next.
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
String acceleratorText = null;
                    IAction updatedAction = getAction();
                    String text = null;
                    
                    accelerator = updatedAction.getAccelerator();
                    /* Process accelerators on GTK in a special way to avoid
                     * Bug 42009.  We will override the native input method by
                     * allowing these reserved accelerators to be placed on the
                     * menu.  We will only do this for "Ctrl+Shift+[A-F]".
                     */
                    ExternalActionManager.ICallback callback = ExternalActionManager
                            .getInstance().getCallback();
                    String commandId = updatedAction.getActionDefinitionId();
                    if (SWT.getPlatform().equals("gtk")) { 
                        if ((callback != null) && (commandId != null)) {
                            Integer commandAccelerator = callback
                                    .getAccelerator(commandId);
                            if (commandAccelerator != null) {
                                int accelInt = callback.getAccelerator(
                                        commandId).intValue();
                                if ((accelInt >= LOWER_GTK_ACCEL_BOUND)
                                        && (accelInt <= UPPER_GTK_ACCEL_BOUND)) {
                                    accelerator = accelInt;
                                    acceleratorText = callback
                                            .getAcceleratorText(commandId);
                                }
                            }
                        }
                    }
                    if (accelerator == 0) {