Bug 119494 [Workbench] dangerous uses of "new GC(Display)"
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
}
    /**
     * Handles a widget dispose event for the widget corresponding to this item.
     */
    private void handleWidgetDispose(Event e) {
        
        if (e.widget == widget) {
            
            if (action.getStyle() == IAction.AS_DROP_DOWN_MENU) {
                IMenuCreator mc = action.getMenuCreator();
                if (mc != null) {
                    mc.dispose();
                }
            }
            
            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;
            
            disposeOldImages();
        }