diff options
author | Giovanni Panozzo <giovanni@panozzo.it> | 2022-11-06 22:56:26 +0300 |
---|---|---|
committer | Giovanni Panozzo <giovanni@panozzo.it> | 2022-11-06 22:56:26 +0300 |
commit | 5a4a4f1b01b5299ab23b060231ec0408ae9e04ee (patch) | |
tree | 8a9771fac16f2616da946114dbba41e03b14c3bd | |
parent | f83a66336322f2acd791eea4a815b62c4ad23003 (diff) |
KB grabbing minor fixes
-rw-r--r-- | src/rcw.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -492,6 +492,7 @@ static gboolean rcw_keyboard_grab_retry(gpointer user_data) static void rcw_pointer_ungrab(RemminaConnectionWindow *cnnwin) { + TRACE_CALL(__func__); #if GTK_CHECK_VERSION(3, 20, 0) GdkSeat *seat; GdkDisplay *display; @@ -507,6 +508,8 @@ static void rcw_pointer_ungrab(RemminaConnectionWindow *cnnwin) static void rcw_pointer_grab(RemminaConnectionWindow *cnnwin) { TRACE_CALL(__func__); + /* This function in Wayland is useless and generates a spurious leave-notify event. + * Should we remove it ? https://gitlab.gnome.org/GNOME/mutter/-/issues/2450#note_1588081 */ #if GTK_CHECK_VERSION(3, 20, 0) GdkSeat *seat; GdkDisplay *display; @@ -2826,7 +2829,7 @@ static gboolean rcw_on_leave_notify_event(GtkWidget *widget, GdkEventCrossing *e } /* Workaround for https://gitlab.gnome.org/GNOME/mutter/-/issues/2450#note_1586570 */ - if (event->mode == GDK_CROSSING_GTK_UNGRAB) { + if (event->mode != GDK_CROSSING_UNGRAB) { rcw_kp_ungrab(cnnwin); rcw_pointer_ungrab(cnnwin); } else { |