[8] Request for review: 8017189 [macosx] AWT program menu disabled on Mac (original) (raw)

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


Hi. 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/viewbug.do?bugid=8017189 Webrev can be found at: http://cr.openjdk.java.net/~serb/8017189/webrev.00 -- Best regards, Sergey.



More information about the macosx-port-dev mailing list