On Tue, 28 Jan 2025 17:23:50 GMT, Jose Pereda <jper...@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];
> 
> I see that the CanvasTest mentioned in the JBS issue passes now with this 
> fix, and fails with `[NSApp activate];`
> 
> I'm not sure why `[NSApp activateIgnoringOtherApps:YES];` works but `[NSApp 
> activate];` doesn't, given that the former is deprecated, as you already 
> mentioned, and the latter is what Apple precisely 
> [recommends](https://developer.apple.com/documentation/appkit/nsapplication/activate(ignoringotherapps:)?language=objc)
>  to use instead.
> In any case, probably something for 
> https://bugs.openjdk.org/browse/JDK-8348878.

@jperedadnr can you add this comment to 
https://bugs.openjdk.org/browse/JDK-8348878 please?

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

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

Reply via email to