<AWT Dev> RFR: 8256465: [macos11] Java frame and dialog presented full screen freeze application
Kevin Rushforth
kcr at openjdk.java.net
Fri Apr 9 20:50:10 UTC 2021
On Fri, 9 Apr 2021 05:42:37 GMT, Tejpal Rebari <trebari at 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
More information about the awt-dev
mailing list