Compare commits

...

1 Commits

Author SHA1 Message Date
Matthias Clasen
40b34c76e6 widget: Treat key controllers like gestures
For the purposes of cutting short event handling,
treat key controllers like gestures. It is fairly
common to have multiple key controllers on a widget,
and the event handling can inadvertently cut short
e.g. by modifier key releases that return TRUE
from handle_event.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1884
2019-05-12 19:30:56 +00:00

View File

@@ -47,6 +47,7 @@
#include "gtkgestureprivate.h"
#include "gtkgesturesingle.h"
#include "gtkgestureswipe.h"
#include "gtkeventcontrollerkey.h"
#include "gtkintl.h"
#include "gtklayoutmanagerprivate.h"
#include "gtkmain.h"
@@ -5225,7 +5226,9 @@ gtk_widget_run_controllers (GtkWidget *widget,
* to collaborate with anything else. Break early if any such event
* controller handled the event.
*/
if (handled && !GTK_IS_GESTURE (controller))
if (handled &&
!GTK_IS_GESTURE (controller) &&
!GTK_IS_EVENT_CONTROLLER_KEY (controller))
break;
}