summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2014-03-17 12:11:09 -0500
committerCharles Kerr <charles.kerr@canonical.com>2014-03-17 12:11:09 -0500
commitb61ca653f5a64f4bcf8d346c1eed37d77b3de3de (patch)
tree83f531b1f42b7ef7e588466df17e5060c7499b63
parent84156c203821f601874d738ca2854e919b5b33be (diff)
downloadlightdm-b61ca653f5a64f4bcf8d346c1eed37d77b3de3de.tar.gz
simplify the patch based on Robert's feedback
-rw-r--r--liblightdm-gobject/layout.c30
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;
}