Bug 65095 MessageDialogWithToggle returns wrong value for yes_to_all
I'm using MessageDialogWithToggle class with 4 buttons: MessageDialogWithToggle dialog = new MessageDialogWithToggle( Display.getCurrent().getActiveShell(), RSCCoreUIPlugin.getString("ConfirmDeleteDialog.title_UI_"), null, message, MessageDialog.QUESTION, new String[] { IDialogConstants.YES_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL}, 1, SUBuilderPlugin.getString("CONFIRM_DELETE_DESC"), checkbox ); The following values 2, 1, 3, 1 are being returned for YES, YES_TO_ALL, NO, CANCEL buttons respectively. The YES_TO_ALL value is wrong, according to IDialogConstants it should be YES_TO_ALL_ID = 4.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
}
    }
    /**
     * @see Dialog#createButtonBar(Composite)
     */
    protected void createButtonsForButtonBar(Composite parent) {
        final String[] buttonLabels = getButtonLabels();
        final Button[] buttons = new Button[buttonLabels.length];
        final int defaultButtonIndex = getDefaultButtonIndex();
        
        for (int i = 0; i < buttonLabels.length; i++) {
            int id = i;
            String label = buttonLabels[i];
            if (IDialogConstants.OK_LABEL.equals(label)) {
                id = IDialogConstants.OK_ID;
            } else if (IDialogConstants.YES_LABEL.equals(label)) {
                id = IDialogConstants.YES_ID;
            } else if (IDialogConstants.NO_LABEL.equals(label)) {
                id = IDialogConstants.NO_ID;
            } else if (IDialogConstants.CANCEL_LABEL.equals(label)) {
                id = IDialogConstants.CANCEL_ID;
            }
            Button button = createButton(parent, id, label,
                    defaultButtonIndex == i);
            buttons[i] = button;
        }
        
        setButtons(buttons);
    }
    /**