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).

-------------

Commit messages:
 - 8348744: Application window not always activated on macOS 15

Changes: https://git.openjdk.org/jfx/pull/1685/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1685&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8348744
  Stats: 4 lines in 1 file changed: 0 ins; 3 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/1685.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1685/head:pull/1685

PR: https://git.openjdk.org/jfx/pull/1685

Reply via email to