On Fri, 9 Apr 2021 05:42:37 GMT, Tejpal Rebari <[email protected]> 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