On Fri, 9 Apr 2021 05:42:37 GMT, Tejpal Rebari <treb...@openjdk.org> wrote:
> Hi All, > Please review the following fix for jdk17. > > Issue : On MacOS 11 Java Frame and JDialog application is freezing in Full > Screen when the System Preference -> General -> Prefer Tabs is set to "Full > Screen". It is also freezing in normal screen when Prefer Tabs is set to > "Always". > It doesn't freeze when the Prefer tabs is set to "never". > > Fix : The default value of allowsAutomaticWindowTabbing is 0/NO in MacOS > prior to bigSur(11) > (in the AWTWindow.m file), so the issue is not seen in mac os 10.13 10.14 > and 10.15. > From MacOS 11 onwards this value is set to 1/YES and the issue is seen. > This issue can also be reproduced in MacOS 10.15 by setting > setAllowsAutomaticWindowTabbing to true in the AWTWindow.m file. > > Fix is to set allowsAutomaticWindowTabbing to No for all the MacOS release > staring from 10.12. > The allowsAutomaticTabbing was introduced in MacOS 10.12 but the default > value changed in macos11. > > Test : Added a manual test and tested on MacOS 10.15 and 11. > All the internal tests run are green. src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m line 292: > 290: > 291: if (@available(macOS 10.12, *)) { > 292: [NSWindow setAllowsAutomaticWindowTabbing:NO]; This works as long as you are OK with requiring an Xcode with the 10.12 SDK to build (it won't affect the minimum runtime version). I think this is fine, but wanted to point that out. ------------- PR: https://git.openjdk.java.net/jdk/pull/3407