< prev index next >

src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java

Print this page

        

*** 856,866 **** return ref.get(); } @Override public void updateFocusableWindowState() { ! final boolean isFocusable = isNativelyFocusableWindow(); setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE, isFocusable); // set bits at once } @Override public void setAlwaysOnTop(boolean isAlwaysOnTop) { --- 856,866 ---- return ref.get(); } @Override public void updateFocusableWindowState() { ! final boolean isFocusable = isNativelyFocusableWindow() || (getOwnerFrameOrDialog(target) instanceof CEmbeddedFrame); setStyleBits(SHOULD_BECOME_KEY | SHOULD_BECOME_MAIN | RESIZABLE, isFocusable); // set bits at once } @Override public void setAlwaysOnTop(boolean isAlwaysOnTop) {
*** 1274,1283 **** --- 1274,1291 ---- } else if (target.getType() == Window.Type.POPUP) { execute(ptr->CWrapper.NSWindow.setLevel(ptr, CWrapper.NSWindow.NSPopUpMenuWindowLevel)); } } + 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 // ---------------------------------------------------------------------- private void windowWillMiniaturize() {
< prev index next >