Bug 204788 [Contributions] Second context menu created from MenuManager does not show
Build ID: I20070621-1340 Steps To Reproduce: 1. Create a MenuManager m with some menu items. 2. Call c.setMenu(m.createContextMenu(c)) on some Control c. 3. Observe that right-clicking on c produces the menu. 4. Dispose the menu. 5. Repeat step 2. (Alternatively, install m on a different control.) 6. The menu now doesn't appear. More information: I'm using Linux/GTK. The debugger tells me that the menu is created and handleAboutToShow() is called. I can't see a problem in the Java code, but nothing appears on the screen. Maybe something is wrong in the native code? If I use a different MenuManager to create the second menu, it works fine.
bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
public void removeMenuListener(IMenuListener listener) {
        listeners.remove(listener);
    }
    /* (non-Javadoc)
     * @see org.eclipse.jface.action.IContributionItem#saveWidgetState()
     */
    public void saveWidgetState() {
    }
    /**
     * Sets the overrides for this contribution manager
     * 
     * @param newOverrides the overrides for the items of this manager
     * @since 2.0
     */
    public void setOverrides(IContributionManagerOverrides newOverrides) {
        overrides = newOverrides;
        super.setOverrides(overrides);
    }
    /* (non-Javadoc)
     * @see org.eclipse.jface.action.IContributionItem#setParent(org.eclipse.jface.action.IContributionManager)
     */
    public void setParent(IContributionManager manager) {
        parent = manager;
    }
    /* (non-Javadoc)
     * @see org.eclipse.jface.action.IMenuManager#setRemoveAllWhenShown(boolean)
     */
    public void setRemoveAllWhenShown(boolean removeAll) {
        this.removeAllWhenShown = removeAll;
    }