On Mon, 18 Dec 2023 11:19:18 GMT, Jose Pereda <jper...@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