RFR: 8316423: [linux] Secondary Stage does not respect Scene's dimensions when shown [v2]

Thiago Milczarek Sayao tsayao at openjdk.org
Sat Oct 14 18:32:48 UTC 2023


On Sat, 30 Sep 2023 23:30:53 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> It looks like a condition between calls from `set_visible` to `request_focus`. When `request_focus` is called, the window is not yet mapped (map is requested on `set_visible`). 
>> 
>> 200x200 is the default gtk window size if none is specified. Since the window is presented at the requested size and then changes to 200x200 I would guess the size request on `gtk_window_present` (which is called on `request_focus`) is being queued and released later. But I'm not really sure.
>> 
>> With this change immediate `request_focus` after the window is created will be ignored. But the default is to request focus on map, so it will work. `request_focus` will only be useful when called after the window is mapped (presented on the screen).
>> 
>> This also fixes [JDK-8316425](https://bugs.openjdk.org/browse/JDK-8316425)
>
> Thiago Milczarek Sayao has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Re-enable tests
>  - Fix fullscreen position

I strongly suspect of what is happening:

`WindowContextTop` constructor calls `glass_gtk_configure_transparency_and_realize` which calls `gtk_widget_realize`.

This is probably creating the underlying gdk window before gtk expects and is messing things up.

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

PR Comment: https://git.openjdk.org/jfx/pull/1249#issuecomment-1763116193


More information about the openjfx-dev mailing list