Bug 189694 ApplicationWindow#run() can hang Eclipse due to Menu#isEnabled
In ApplicationWindow#run() we call Menu#isEnabled to cache our enabled state. This actually crawls all of the children of the menu to determine the state. When the Shell is disabled this will return true and so when the shell is re-enabled all of the menus will be inactive. I will be attaching a Steve approved patch.
bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java
*   to not show it
     * @since 3.0
     */
    protected boolean showTopSeperator() {
        return !"carbon".equals(SWT.getPlatform()); 
    }
    /**
     * Create the status line if required.
     * @param shell
     */
    protected void createStatusLine(Shell shell) {
        if (statusLineManager != null) {
            statusLineManager.createControl(shell, SWT.NONE);
        }
    }
    /**
     * Returns a new menu manager for the window.
     * <p>
     * Subclasses may override this method to customize the menu manager.
     * </p>
     * @return a menu manager
     */
    protected MenuManager createMenuManager() {
        return new MenuManager();
    }
    /**
     * Returns a new status line manager for the window.
     * <p>
     * Subclasses may override this method to customize the status line manager.
     * </p>