--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Tue Oct 30 15:43:37 2018 +0530
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Tue Oct 30 17:06:32 2018 +0530
@@ -214,7 +214,7 @@
if (IS(styleBits, UNIFIED)) type |= NSUnifiedTitleAndToolbarWindowMask;
if (IS(styleBits, UTILITY)) type |= NSUtilityWindowMask;
if (IS(styleBits, HUD)) type |= NSHUDWindowMask;
- if (IS(styleBits, SHEET)) type |= NSDocModalWindowMask;
+ if (IS(styleBits, SHEET)) type |= NSWindowStyleMaskDocModalWindow;
if (IS(styleBits, NONACTIVATING)) type |= NSNonactivatingPanelMask;
return type;
@@ -273,7 +273,12 @@
{
AWT_ASSERT_APPKIT_THREAD;
- NSUInteger styleMask = [AWTWindow styleMaskForStyleBits:bits];
+ NSUInteger newBits = bits;
+ if (IS(bits, SHEET) && owner == nil) {
+ newBits = bits & ~NSWindowStyleMaskDocModalWindow;
+ }
+ NSUInteger styleMask = [AWTWindow styleMaskForStyleBits:newBits];
+
NSRect contentRect = rect; //[NSWindow contentRectForFrameRect:rect styleMask:styleMask];
if (contentRect.size.width <= 0.0) {
contentRect.size.width = 1.0;
@@ -289,7 +294,8 @@
if (IS(bits, UTILITY) ||
IS(bits, NONACTIVATING) ||
IS(bits, HUD) ||
- IS(bits, HIDES_ON_DEACTIVATE))
+ IS(bits, HIDES_ON_DEACTIVATE) ||
+ IS(bits, SHEET))
{
self.nsWindow = [[AWTWindow_Panel alloc] initWithDelegate:self
frameRect:contentRect
@@ -319,6 +325,10 @@
[self.nsWindow setCollectionBehavior:(1 << 8) /*NSWindowCollectionBehaviorFullScreenAuxiliary*/];
}
+ if (IS(bits, SHEET) && owner != nil) {
+ [self.nsWindow setStyleMask: NSWindowStyleMaskDocModalWindow];
+ }
+
return self;
}