[gtk/key-controller-shortcut] widget: Treat key controllers like gestures
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/key-controller-shortcut] widget: Treat key controllers like gestures
- Date: Sun, 12 May 2019 19:33:20 +0000 (UTC)
commit 40b34c76e6c08c2a340d516fb985838a8ea31940
Author: Matthias Clasen <mclasen redhat com>
Date: Sun May 12 19:30:56 2019 +0000
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
gtk/gtkwidget.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index bbc5ada6f6..69de5ce583 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]