From: Kristian Høgsberg Date: Tue, 29 Apr 2014 21:19:20 +0000 (-0700) Subject: window.c: Prevent key event delivery while a grab is active X-Git-Tag: upstream/0.1.8~249 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c31f624141ab03baf243441467806753b9c2bb74;p=profile%2Fivi%2Fweston-ivi-shell.git window.c: Prevent key event delivery while a grab is active Ideally, we'll update the key event handling to deliver events to widgets, but in the meantime, just blocking key event delivery while a grab is active goes a long way. --- diff --git a/clients/window.c b/clients/window.c index 005102b..adcec0d 100644 --- a/clients/window.c +++ b/clients/window.c @@ -2876,6 +2876,14 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, if (!window || !input->xkb.state) return; + /* We only use input grabs for pointer events for now, so just + * ignore key presses if a grab is active. We expand the key + * event delivery mechanism to route events to widgets to + * properly handle key grabs. In the meantime, this prevents + * key event devlivery while a grab is active. */ + if (input->grab && input->grab_button == 0) + return; + num_syms = xkb_key_get_syms(input->xkb.state, code, &syms); sym = XKB_KEY_NoSymbol;