Hi, Dmitry.
Can you please provide some more details why this bug is reproducible only on mac and not on the other platforms(I meant the bug related to the popup menu not SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits)

I have checked our current behavior on win/lin/mac in all cases the simple "Window" cannot get a focus, without any difference which parent is used(null/frame/window).

So for example if the window1 is owned by another window2, then both of them are "unfocusable", but after the current fix, both will be "focusable" if the window2 will be owned by the embedded frame.

On 25/06/2018 03:35, Dmitry Markov wrote:
Hello,

Could you review a fix for jdk11, please?

  bug: https://bugs.openjdk.java.net/browse/JDK-8130655
  webrev: http://cr.openjdk.java.net/~dmarkov/8130655/webrev.00/

Problem description:
On OS X platform a window does not receive keyboard input if it is owned by embedded frame. According to the current implementation “simple window” (not frame or dialog) is NOT natively focusable, (i.e. SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits are not set for its native peer); embedded frame receives events from the embedder, (e.g. browser, etc.) but does not translate them to the its own child windows. So if “simple window” is owned by embedded frame it is impossible for the window to receive any key events.

Fix:
Set SHOULD_BECOME_KEY and SHOULD_BECOME_MAIN bits for simple window which is owned by embedded frame.

Thanks,
Dmitry


--
Best regards, Sergey.

Reply via email to