update xkb settings and send xkb update event when calling e_xkb_layout_set()
authorMike Blumenkrantz <zmike@osg.samsung.com>
Tue, 22 Sep 2015 17:44:18 +0000 (13:44 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Tue, 22 Sep 2015 17:44:18 +0000 (13:44 -0400)
resolves issue where setting a specific kbd would fail to make settings permanent
as well as not propagating the kbd change to the rest of enlightenment

fix T1810

src/bin/e_xkb.c

index 7ea6ecc..24583fd 100644 (file)
@@ -233,10 +233,13 @@ e_xkb_layout_set(const E_Config_XKB_Layout *cl)
         if (e_config_xkb_layout_eq(cl, cl2))
           {
              INF("Setting keyboard layout: %s|%s|%s", cl2->name, cl2->model, cl2->variant);
+             eina_stringshare_replace(&e_config->xkb.cur_layout, cl->name);
+             eina_stringshare_replace(&e_config->xkb.selected_layout, cl->name);
              e_xkb_update(cur_group);
              break;
           }
      }
+   _e_xkb_update_event(e_config->xkb.cur_group);
    e_config_save_queue();
 }