On Sat, 21 Oct 2023 00:10:50 GMT, Martin Fox <d...@openjdk.org> wrote:

>> When a window is visible the maximized, iconified, and fullscreen properties 
>> are two-way streets; changes made in Java are sent on to the platform window 
>> and changes in the platform window are sent back into Java.
>> 
>> When a window is hidden these properties (and others, like location and 
>> sizing information) are not sent on to the platform window until the window 
>> is made visible. In other words, the properties don't reflect the actual 
>> state of the window but the intended state after it's shown.
>> 
>> There's a period when the window is transitioning from hidden to shown where 
>> the core Stage code is using the stored properties to configure the platform 
>> window and the platform window is simultaneously calling back in to update 
>> the properties. This was causing the intended state to be wiped out before 
>> it could be sent on to the platform window.
>> 
>> The problem is specific to Mac because on that platform any change to the 
>> size or location of a window can cause it to enter or leave the maximized 
>> (zoomed) state. So just setting the location can cause the maximized flag to 
>> be altered.
>> 
>> The proposed solution is to copy the intended state bits to Stage local 
>> variables to be used later in the configuration.
>
> Martin Fox has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Revert core changes. Fix Mac glass code so it reports maximized state 
> correctly.

@andy-goryachev-oracle Can you be the second reviewer?

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

PR Comment: https://git.openjdk.org/jfx/pull/1258#issuecomment-1783172640

Reply via email to