summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-01-25 16:29:28 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-02-02 13:41:02 -0500
commitc111cf74558801d0a6e37c5bfa2379609219bf3c (patch)
treeef948336d121d805ee3d50779c0cb8993fa9e6db
parent5919d6ae7c94df09eafe818cff75136708491ef7 (diff)
do not update keymap group in _e_comp_wl_input_keymap_update()
this state is dead, and any group changes which have been made should be reapplied based on the new state
-rw-r--r--src/bin/e_comp_wl_input.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index e10897322..90c7c1f39 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -327,7 +327,7 @@ static void
327_e_comp_wl_input_keymap_update(struct xkb_keymap *keymap) 327_e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
328{ 328{
329 char *tmp; 329 char *tmp;
330 xkb_mod_mask_t latched = 0, locked = 0, group = 0; 330 xkb_mod_mask_t latched = 0, locked = 0;
331 struct wl_resource *res; 331 struct wl_resource *res;
332 Eina_List *l; 332 Eina_List *l;
333 333
@@ -349,18 +349,14 @@ _e_comp_wl_input_keymap_update(struct xkb_keymap *keymap)
349 locked = 349 locked =
350 xkb_state_serialize_mods(e_comp_wl->xkb.state, 350 xkb_state_serialize_mods(e_comp_wl->xkb.state,
351 XKB_STATE_MODS_LOCKED); 351 XKB_STATE_MODS_LOCKED);
352 group =
353 xkb_state_serialize_layout(e_comp_wl->xkb.state,
354 XKB_STATE_LAYOUT_EFFECTIVE);
355 xkb_state_unref(e_comp_wl->xkb.state); 352 xkb_state_unref(e_comp_wl->xkb.state);
356 } 353 }
357 354
358 /* create a new xkb state */ 355 /* create a new xkb state */
359 e_comp_wl->xkb.state = xkb_state_new(keymap); 356 e_comp_wl->xkb.state = xkb_state_new(keymap);
360 357
361 if ((latched) || (locked) || (group)) 358 xkb_state_update_mask(e_comp_wl->xkb.state, 0,
362 xkb_state_update_mask(e_comp_wl->xkb.state, 0, 359 latched, locked, 0, 0, 0);
363 latched, locked, 0, 0, group);
364 360
365 /* increment keymap reference */ 361 /* increment keymap reference */
366 e_comp_wl->xkb.keymap = keymap; 362 e_comp_wl->xkb.keymap = keymap;