gtkmain: Wait for GDK_CROSSING_UNGRAB leave event with implicit grabs
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 7 Feb 2020 00:02:47 +0000 (01:02 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 7 Feb 2020 00:02:47 +0000 (01:02 +0100)
commite67f0bfcfda56950c82a5f384e2d4c640ab7a7f4
tree6bc1e7dacb9ec145a4bfffa56f08bb804de46425
parent56dc99a9fb533fa928303ede69964b1fd310a47f
gtkmain: Wait for GDK_CROSSING_UNGRAB leave event with implicit grabs

If there is a passive grab and the pointer leaves the window we would
receive a GDK_CROSSING_NORMAL event when the pointer moves outside
the window, and a GDK_CROSSING_UNGRAB event when we do release the
button and the implicit grab.

We currently would react to the first, but want to react to the
second. In the time between both events, the client would still receive
pointer motion that will reach the implicitly grabbed widget.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/13
gtk/gtkmain.c