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
*/
    private IToolBarManager toolBarManager = null;
    /**
     * Status line manager, or <code>null</code> if none (default).
     *
     * @see #addStatusLine
     */
    private StatusLineManager statusLineManager = null;
    /**
     * Cool bar manager, or <code>null</code> if none (default).
     * 
     * @see #addCoolBar
     * @since 3.0
     */
    private ICoolBarManager coolBarManager = null;
    /**
     * The seperator between the menu bar and the rest of the window.
     */
    protected Label seperator1;
    /**
     * A flag indicating that an operation is running.
     */
    private boolean operationInProgress = false;
    /**
     * Internal application window layout class.
     * This vertical layout supports a tool bar area (fixed size),
     * a separator line, the content area (variable size), and a 
     * status line (fixed size).
     */
    class ApplicationWindowLayout extends Layout {