RFR: 8348744: Application window not always activated on macOS 15
Kevin Rushforth
kcr at openjdk.org
Tue Jan 28 12:40:29 UTC 2025
On Tue, 28 Jan 2025 12:35:13 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
> The fix for [JDK-8319066](https://bugs.openjdk.org/browse/JDK-8319066) added a needed call to activate a JavaFX window on macOS 14 or later via `[NSApp activate]`. In macOS 15, this doesn't always activate the window; even on macOS 14 there are certain cases where it might not. In all other places where we need to activate a window we call `[NSApp activateIgnoringOtherApps:YES]`. This is also what AWT uses in all places.
>
> The fix is to replace the call to `activate` with a call to `activateIgnoringOtherApps`. I ran a full set of headful tests on macOS 15, 14, and 13 (although the code is not executed on macOS 13), and everything looks good on my end.
>
> Worth noting is that `NSApp::activateIgnoringOtherApps` is deprecated as of MacOS SDK 14, which means that we might have problems in the future when we update the Xcode toolchain (or if they eventually degrade it so that the `ignoringOtherApps` part of this call stops doing anything), but that will be a problem we need to address anyway, affecting other places in JavaFX and AWT.
>
> I intend to backported this fix to `jfx24` after it is integrated into mainline (for 25).
Reviewers: @andy-goryachev-oracle @jperedadnr
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1685#issuecomment-2618885751
More information about the openjfx-dev
mailing list