On Mon, 28 Apr 2025 17:47:50 GMT, Martin Fox <m...@openjdk.org> wrote:

> On macOS the system animates the transition into and out of fullscreen and 
> this animation runs asynchronously. JavaFX tries to make the setFullScreen 
> call appear synchronous by running a nested event loop while the transition 
> is going on. But this means that runLater runnables can fire during a call to 
> setFullScreen.
> 
> This can also occur during a call to Window.hide() if the window is in 
> fullscreen mode. During the setView call glass tries to take the window out 
> of fullscreen mode which fires up a nested event loop and, again, runLater 
> runnables (like pulses) start firing.
> 
> In this PR GlassRunnables that try to run during the fullscreen transition 
> are instead placed in a deferral list. When the fullscreen event loop exits 
> they are re-scheduled.

This pull request has now been integrated.

Changeset: 498b7e4c
Author:    Martin Fox <m...@openjdk.org>
URL:       
https://git.openjdk.org/jfx/commit/498b7e4cc56d91d6a0caf6a9a93691b0195e997b
Stats:     34 lines in 3 files changed: 25 ins; 4 del; 5 mod

8176813: Mac: Failure to exit full-screen programmatically in some cases

Reviewed-by: angorya, kcr

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

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

Reply via email to