RFR: 8176813: Mac: Failure to exit full-screen programmatically in some cases [v3]

Martin Fox mfox at openjdk.org
Wed Apr 30 03:38:34 UTC 2025


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

Martin Fox has updated the pull request incrementally with one additional commit since the last revision:

  Bumping up delay to ensure fullscreen transition is done on macOS

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1797/files
  - new: https://git.openjdk.org/jfx/pull/1797/files/54cc8a3f..2336af95

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1797&range=02
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1797&range=01-02

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/1797.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1797/head:pull/1797

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


More information about the openjfx-dev mailing list