diff options
author | Rui Matos <tiagomatos@gmail.com> | 2012-10-03 22:37:04 +0200 |
---|---|---|
committer | Rui Matos <tiagomatos@gmail.com> | 2012-10-05 16:16:20 +0200 |
commit | c33ff6ce72380fe9d9301ff21c690aa27b62ac60 (patch) | |
tree | 5c8f390602182902813537f1f57837a88ff7c8e7 /plugins/keyboard/gsd-keyboard-manager.c | |
parent | a4503d3a22de528f3a912dd169d7c02374582dfb (diff) | |
download | gnome-settings-daemon-c33ff6ce72380fe9d9301ff21c690aa27b62ac60.tar.gz |
keyboard: Slight refactoring for upcoming changes
We're going to add some special handling that doesn't apply when
running under GDM so return early if that's the case.
https://bugzilla.gnome.org/show_bug.cgi?id=685457
Diffstat (limited to 'plugins/keyboard/gsd-keyboard-manager.c')
-rw-r--r-- | plugins/keyboard/gsd-keyboard-manager.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c index 4a953a79..3bf1db5b 100644 --- a/plugins/keyboard/gsd-keyboard-manager.c +++ b/plugins/keyboard/gsd-keyboard-manager.c @@ -1307,18 +1307,20 @@ out: static void maybe_create_input_sources (GsdKeyboardManager *manager) { + GSettings *settings; GVariant *sources; - gboolean gdm; - gsize n; - gdm = g_getenv ("RUNNING_UNDER_GDM") != NULL; + settings = manager->priv->input_sources_settings; - sources = g_settings_get_value (manager->priv->input_sources_settings, KEY_INPUT_SOURCES); - n = g_variant_n_children (sources); - g_variant_unref (sources); + if (g_getenv ("RUNNING_UNDER_GDM")) { + create_sources_from_current_xkb_config (settings); + return; + } - if (n < 1 || gdm) - create_sources_from_current_xkb_config (manager->priv->input_sources_settings); + sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); + if (g_variant_n_children (sources) < 1) + create_sources_from_current_xkb_config (settings); + g_variant_unref (sources); } static gboolean |