RFR: 8320965: Scrolling on a touch enabled display fails on Wayland [v3]
Jose Pereda
jpereda at openjdk.org
Tue Jan 23 01:23:38 UTC 2024
On Mon, 18 Dec 2023 11:19:18 GMT, Jose Pereda <jpereda at openjdk.org> wrote:
>> This PR replaces the deprecated `gdk_pointer_grab` with `gdk_seat_grab`, and `gdk_pointer_ungrab ` with `gdk_seat_ungrab`, using runtime checks and wrapped functions for GTK 3.20+ (so systems without it still run with GTK 3.8+), and fixes the dragging issue on Wayland.
>
> Jose Pereda has updated the pull request incrementally with one additional commit since the last revision:
>
> Add compile-time checks to GdkSeat
So it seems definitely related to the changes in this PR.
Running with `GDK_DEBUG=nograbs` works (10 out of 10).
Adding some debug to the native code, and running with grabs, I can see:
When it works:
DatePickerTest STANDARD_OUT
Glass GTK library to load is glassgtk3
loaded gdk_seat_grab
loaded gdk_display_get_default_seat
grab
grab
found schema 'org.gnome.desktop.interface' and key 'scaling-factor'
loaded gdk_seat_ungrab
ungrab
grab
ungrab
found schema 'org.gnome.desktop.interface' and key 'scaling-factor'
ungrab
grab
> Task :systemTests:test
...
(so test starts after window is grabbed and focused, as it should be).
When it fails:
DatePickerTest STANDARD_OUT
Glass GTK library to load is glassgtk3
loaded gdk_seat_grab
loaded gdk_display_get_default_seat
grab
grab
found schema 'org.gnome.desktop.interface' and key 'scaling-factor'
loaded gdk_seat_ungrab
ungrab
> Task :systemTests:test
...
so window is not grabbed and not focused, and therefore native mouse clicks go elsewhere.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1305#issuecomment-1905121653
More information about the openjfx-dev
mailing list