On Wed, 30 Apr 2025 17:52:01 GMT, Martin Fox <m...@openjdk.org> wrote:

> macOS will allow any window to enter fullscreen mode but won't expand the 
> window's size if the resizable bit isn't set in the window's style mask. For 
> undecorated stages the code has to set this bit before entering fullscreen 
> and restore the old value after exiting fullscreen.
> 
> The old code was taking a pointer to an NSWindow and casting it to a pointer 
> to an unrelated type (GlassWindow). It was also making an unnecessary check. 
> windowWillEnterFullScreen stashes away the state of the resizable bit before 
> setting it and windowDidExitFullScreen restores the old state. There's no 
> need for setResizableForFullscreen to check anything, it just needs to do 
> what it's told.
> 
> System tests for this case are underway as part of PR #1789.
> 
> You might have difficulty reproducing the bug in the master branch.  The old 
> code was doing a bogus pointer cast and then dereferencing it to check a 
> state flag so the code sometimes worked and sometimes didn't.

The fix looks good. I can confirm the problem using a simple variant of 
HellofullScreenToggle and an UNDECORATED stage. It works as expected now.

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

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1799#pullrequestreview-2810037964

Reply via email to