<AWT Dev> [8] Request for review: 8017189 [macosx] AWT program menu disabled on Mac

Leonid Romanov leonid.romanov at oracle.com
Mon Jul 22 05:57:16 PDT 2013

Here is a test case that, with your patch applied, works differently than JDK 6:
1. Show JFrame with a menu
2.  Create a modal dialog with the frame as a parent
3. Dispose the frame
4. Make dialog visible

With JDK 6, the dialog's menu will be disabled. With JDK 8, it will be enabled.  So, formally, we've got a regression. I'm not sure whether it is worth fixing, because it looks like a corner case, but still.

On Jul 19, 2013, at 10:15 PM, Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote:

> Hello,
> Please review the fix for jdk 8 and 7u40.
> The fix for JDK-8010906 don't take into account situation then first parent has no menu bar, but the second has.
> So it introduce the next scenario:
> #1. Open the window with File menu.
> #2. Open modal dialog1 =>File menu is disabled
> #3. Open modal dialog2 =>File menu disappears
> #4. Close dialog two
> #5. Close dialog one. File menu reappears, but File still disabled
> The steps #3. occurred, because CMenuBar.activate resets the current menubar if a passed javaMenuBar is null.
> The steps #5. occurred, because at step #3 we do not remove our nsmenu from the deleted NSMenuItem, when the appropriate NSMenuItem removed from mainMenu. So at step #5 we got a situation, when our nsmenu was added to the two different nsmenuitems: old(disabled) and new(enabled).
> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8017189
> Webrev can be found at: http://cr.openjdk.java.net/~serb/8017189/webrev.00
> -- 
> Best regards, Sergey.

More information about the awt-dev mailing list