File gnome-settings-daemon-initial-keyboard.patch of Package gnome-settings-daemon.391

Index: gnome-settings-daemon-3.10.2/plugins/keyboard/gsd-keyboard-manager.c
===================================================================
--- gnome-settings-daemon-3.10.2.orig/plugins/keyboard/gsd-keyboard-manager.c
+++ gnome-settings-daemon-3.10.2/plugins/keyboard/gsd-keyboard-manager.c
@@ -1232,7 +1232,7 @@ set_devicepresence_handler (GsdKeyboardM
 }
 
 static void
-get_sources_from_xkb_config (GsdKeyboardManager *manager)
+get_sources_from_xkb_config (GsdKeyboardManager *manager, gboolean running_under_gdm)
 {
         GsdKeyboardManagerPrivate *priv = manager->priv;
         GVariantBuilder builder;
@@ -1283,7 +1283,7 @@ get_sources_from_xkb_config (GsdKeyboard
                 g_free (id);
         }
 
-        if (!have_default_layout)
+        if (!have_default_layout && running_under_gdm)
                 g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT);
 
         g_settings_set_value (priv->input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
@@ -1443,7 +1443,7 @@ maybe_create_initial_settings (GsdKeyboa
                 /* clean the settings and get them from the "system" */
                 g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
                 g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
-                get_sources_from_xkb_config (manager);
+                get_sources_from_xkb_config (manager, TRUE);
 
                 g_settings_set_strv (settings, KEY_KEYBOARD_OPTIONS, NULL);
                 get_options_from_xkb_config (manager);
@@ -1455,7 +1455,7 @@ maybe_create_initial_settings (GsdKeyboa
         /* if we still don't have anything do some educated guesses */
         sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
         if (g_variant_n_children (sources) < 1)
-                get_sources_from_xkb_config (manager);
+                get_sources_from_xkb_config (manager, FALSE);
         g_variant_unref (sources);
 
         options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS);
openSUSE Build Service is sponsored by