--- old/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java 2018-06-25 11:03:54.000000000 +0100 +++ new/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java 2018-06-25 11:03:54.000000000 +0100 @@ -858,7 +858,7 @@ @Override public void updateFocusableWindowState() { - final boolean isFocusable = isNativelyFocusableWindow(); + final boolean isFocusable = isNativelyFocusableWindow() || (getOwnerFrameOrDialog(target) instanceof CEmbeddedFrame); setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE, isFocusable); // set bits at once } @@ -1276,6 +1276,14 @@ } } + private Window getOwnerFrameOrDialog(Window window) { + Window owner = window.getOwner(); + while(owner != null && !(owner instanceof Frame || owner instanceof Dialog)) { + owner = owner.getOwner(); + } + return owner; + } + // ---------------------------------------------------------------------- // NATIVE CALLBACKS // ----------------------------------------------------------------------