Bug 70088 [Actions] ActionContributionItem.fill(Composite) creates button with wrong text
1. Create an action with setText ("&Go@Ctrl+G"); 2. Use ActionContributionItem.fill(Composite) to create a button 3. The label of the button will be "_G_o@Ctrl+G" Looking at the source, it seems that the code which handles the text for buttons doesn't take the accelerator in account. Quick fix: Remove any text after the @ (incl) in the "set text for button" code. Suggested fix: Remove the ugly "@text" hack and use the real accelerator (set with setAccelerator()) instead (removes code duplication, too).
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
if (image == null) {
                    image = action.getImageDescriptor();
                }
                ImageDescriptor disabledImage = action
                        .getDisabledImageDescriptor();
                
                if (image == null && forceImage) {
                    image = ImageDescriptor.getMissingImageDescriptor();
                }
        
                LocalResourceManager localManager = new LocalResourceManager(parentResourceManager);
                
                
                ((ToolItem) widget).setDisabledImage(disabledImage == null ? null : localManager.createImageWithDefault(disabledImage));
                ((ToolItem) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));
                disposeOldImages();
                imageManager = localManager;
                
                return image != null;
            }
            ImageDescriptor image = action.getImageDescriptor();
            ImageDescriptor hoverImage = action
                    .getHoverImageDescriptor();
            ImageDescriptor disabledImage = action
                    .getDisabledImageDescriptor();
            
            
            if (image == null && hoverImage != null) {
                image = ImageDescriptor.createWithFlags(action.getHoverImageDescriptor(), SWT.IMAGE_GRAY); 
            } else {