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
action.removePropertyChangeListener(propertyListener);
            if (action != null) {
                String commandId = action.getActionDefinitionId();
                ExternalActionManager.ICallback callback = ExternalActionManager
                        .getInstance().getCallback();
                if ((callback != null) && (commandId != null)) {
                    callback.removePropertyChangeListener(commandId,
                            actionTextListener);
                }
            }
            
            widget = null;
        }
    }
    /**
     * Handles a widget selection event.
     */
    private void handleWidgetSelection(Event e, boolean selection) {
        Widget item = e.widget;
        if (item != null) {
            int style = item.getStyle();
            if ((style & (SWT.TOGGLE | SWT.CHECK)) != 0) {
                if (action.getStyle() == IAction.AS_CHECK_BOX) {
                    action.setChecked(selection);
                }
            } else if ((style & SWT.RADIO) != 0) {
                if (action.getStyle() == IAction.AS_RADIO_BUTTON) {
                    action.setChecked(selection);
                }
            } else if ((style & SWT.DROP_DOWN) != 0) {