[gnome-settings-daemon] keyboard: Only add the "us" layout if the system config cannot be determined
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] keyboard: Only add the "us" layout if the system config cannot be determined
- Date: Fri, 14 Jul 2017 09:21:11 +0000 (UTC)
commit d68ef6ad95bd2a5210715feea4ca5112885bec92
Author: Laurent Bigonville <bigon bigon be>
Date: Fri Jul 7 17:40:17 2017 +0200
keyboard: Only add the "us" layout if the system config cannot be determined
Currently, the "us" keyboard layout is always added the first time the
user is login in, this should only be necessary if the system configured
layout cannot be determined.
https://bugzilla.gnome.org/show_bug.cgi?id=784654
plugins/keyboard/gsd-keyboard-manager.c | 18 +++++++-----------
1 files changed, 7 insertions(+), 11 deletions(-)
---
diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c
index ddeeee6..ea67dda 100644
--- a/plugins/keyboard/gsd-keyboard-manager.c
+++ b/plugins/keyboard/gsd-keyboard-manager.c
@@ -441,7 +441,6 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
gint i, n;
gchar **layouts = NULL;
gchar **variants = NULL;
- gboolean have_default_layout = FALSE;
v = g_dbus_proxy_get_cached_property (priv->localed, "X11Layout");
if (v) {
@@ -451,8 +450,12 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
g_variant_unref (v);
}
- if (!layouts)
- return;
+ init_builder_with_sources (&builder, priv->input_sources_settings);
+
+ if (!layouts) {
+ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT);
+ goto out;
+ }
v = g_dbus_proxy_get_cached_property (priv->localed, "X11Variant");
if (v) {
@@ -467,8 +470,6 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
else
n = g_strv_length (layouts);
- init_builder_with_sources (&builder, priv->input_sources_settings);
-
for (i = 0; i < n && layouts[i][0]; ++i) {
gchar *id;
@@ -477,16 +478,11 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
else
id = g_strdup (layouts[i]);
- if (g_str_equal (id, DEFAULT_LAYOUT))
- have_default_layout = TRUE;
-
g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, id);
g_free (id);
}
- if (!have_default_layout)
- g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT);
-
+out:
g_settings_set_value (priv->input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end
(&builder));
g_strfreev (layouts);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]