< 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 >