input: don't run modifier bindings when the kbd is grabbed
We don't want bindings to be run while the keyboard is grabbed.
Otherwise the binding handler may grab the keyboard too, making
the old grab go away without even being cancelled.
diff --git a/src/bindings.c b/src/bindings.c
index fb758d1..fe21ed6 100644
--- a/src/bindings.c
+++ b/src/bindings.c
@@ -293,6 +293,9 @@
{
struct weston_binding *b;
+ if (seat->keyboard->grab != &seat->keyboard->default_grab)
+ return;
+
wl_list_for_each(b, &compositor->modifier_binding_list, link) {
weston_modifier_binding_handler_t handler = b->handler;