summaryrefslogtreecommitdiff
path: root/plugins/keyboard/gsd-keyboard-manager.c
diff options
context:
space:
mode:
authorRui Matos <tiagomatos@gmail.com>2012-10-03 22:37:04 +0200
committerRui Matos <tiagomatos@gmail.com>2012-10-05 16:16:20 +0200
commitc33ff6ce72380fe9d9301ff21c690aa27b62ac60 (patch)
tree5c8f390602182902813537f1f57837a88ff7c8e7 /plugins/keyboard/gsd-keyboard-manager.c
parenta4503d3a22de528f3a912dd169d7c02374582dfb (diff)
downloadgnome-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.c18
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