On Tue, 28 Jan 2025 15:35:07 GMT, Andy Goryachev <ango...@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).
>
> modules/javafx.graphics/src/main/native-glass/mac/GlassApplication.m line 286:
> 
>> 284:         LOG("-> need to active application");
>> 285:         dispatch_async(dispatch_get_main_queue(), ^{
>> 286:             [NSApp activateIgnoringOtherApps:YES];
> 
> should we add a comment about possible removal of this API in newer platforms?
> (I would suggest also include the JBS reference so the context can be 
> obtained by the person who will be fixing this code in the future).

I don't want to do either of these in this PR. My comment in the PR Description 
about possible API removal is independent of this bug and something I just 
happened to notice -- plus it's speculative on my part. I will file a follow-on 
place-holder bug for this, but there isn't anything actionable at this point. 
Also, I don't like the practice of putting bug IDs in for fixed bugs except in 
unusual cases (this isn't one of them).

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1685#discussion_r1932460818

Reply via email to