toytoolkit: Allow operation without a keymap
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 24 Jun 2013 15:52:43 +0000 (16:52 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 28 Jun 2013 23:54:53 +0000 (19:54 -0400)
In preparation for upcoming changes, we want to make sure that apps
written with the toy toolkit continue to operate properly if no XKB
keymap is received.  If there's no XKB keymap, then we shouldn't
try to figure out keyboard modifier states (since we probably don't
even have equivalents of PC-style modifiers).

Reviewed-by: Singh, Satyeshwar <satyeshwar.singh@intel.com>
Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
clients/window.c

index c13d207..c8e421b 100644 (file)
@@ -3067,6 +3067,10 @@ keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
        struct input *input = data;
        xkb_mod_mask_t mask;
 
+       /* If we're not using a keymap, then we don't handle PC-style modifiers */
+       if (!input->xkb.keymap)
+               return;
+
        xkb_state_update_mask(input->xkb.state, mods_depressed, mods_latched,
                              mods_locked, 0, 0, group);
        mask = xkb_state_serialize_mods(input->xkb.state,