diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2014-03-17 12:11:09 -0500 |
---|---|---|
committer | Charles Kerr <charles.kerr@canonical.com> | 2014-03-17 12:11:09 -0500 |
commit | b61ca653f5a64f4bcf8d346c1eed37d77b3de3de (patch) | |
tree | 83f531b1f42b7ef7e588466df17e5060c7499b63 /liblightdm-gobject | |
parent | 84156c203821f601874d738ca2854e919b5b33be (diff) | |
download | lightdm-b61ca653f5a64f4bcf8d346c1eed37d77b3de3de.tar.gz |
simplify the patch based on Robert's feedback
Diffstat (limited to 'liblightdm-gobject')
-rw-r--r-- | liblightdm-gobject/layout.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/liblightdm-gobject/layout.c b/liblightdm-gobject/layout.c index 6d0ab19a..c0426e35 100644 --- a/liblightdm-gobject/layout.c +++ b/liblightdm-gobject/layout.c @@ -109,30 +109,26 @@ layout_cb (XklConfigRegistry *config, GList * lightdm_get_layouts (void) { + XklConfigRegistry *registry; + if (have_layouts) return layouts; display = XOpenDisplay (NULL); + if (display == NULL) + return NULL; + xkl_engine = xkl_engine_get_instance (display); - if (xkl_engine == NULL) - { - g_warning ("Failed to get Xkl engine for display '%p'", display); - } - else - { - XklConfigRegistry *registry; + xkl_config = xkl_config_rec_new (); + if (!xkl_config_rec_get_from_server (xkl_config, xkl_engine)) + g_warning ("Failed to get Xkl configuration from server"); - xkl_config = xkl_config_rec_new (); - if (!xkl_config_rec_get_from_server (xkl_config, xkl_engine)) - g_warning ("Failed to get Xkl configuration from server"); + registry = xkl_config_registry_get_instance (xkl_engine); + xkl_config_registry_load (registry, FALSE); + xkl_config_registry_foreach_layout (registry, layout_cb, NULL); + g_object_unref (registry); - registry = xkl_config_registry_get_instance (xkl_engine); - xkl_config_registry_load (registry, FALSE); - xkl_config_registry_foreach_layout (registry, layout_cb, NULL); - g_object_unref (registry); - - have_layouts = TRUE; - } + have_layouts = TRUE; return layouts; } |