Gunnar Hjalmarsson has proposed merging 
~gunnarhj/ubuntu/+source/gnome-settings-daemon:ibus-live-session3 into 
~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon:ubuntu/master.

Requested reviews:
  Ubuntu Desktop (ubuntu-desktop)
Related bugs:
  Bug #1786344 in gnome-settings-daemon (Ubuntu): "Default IBus input method 
ignored in live session"
  https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1786344

For more details, see:
https://code.launchpad.net/~gunnarhj/ubuntu/+source/gnome-settings-daemon/+git/gnome-settings-daemon/+merge/368678
-- 
Your team Ubuntu Desktop is requested to review the proposed merge of 
~gunnarhj/ubuntu/+source/gnome-settings-daemon:ibus-live-session3 into 
~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon:ubuntu/master.
diff --git a/debian/changelog b/debian/changelog
index 6a493d0..51971cb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+gnome-settings-daemon (3.32.0-1ubuntu2) UNRELEASED; urgency=medium
+
+  * debian/patches/ubuntu_ibus_configs.patch:
+    - Always call add_ibus_sources_from_locale() during the first run
+      of g-s-d. This ensures that an IBus method is included in "live
+      sessions" when applicable (LP: #1786344).
+
+ -- Gunnar Hjalmarsson <gunna...@ubuntu.com>  Tue, 11 Jun 2019 22:00:00 +0200
+
 gnome-settings-daemon (3.32.0-1ubuntu1) disco; urgency=medium
 
   * Merge with Debian. Remaining changes:
diff --git a/debian/patches/ubuntu_ibus_configs.patch b/debian/patches/ubuntu_ibus_configs.patch
index f69330f..74b5c89 100644
--- a/debian/patches/ubuntu_ibus_configs.patch
+++ b/debian/patches/ubuntu_ibus_configs.patch
@@ -6,11 +6,11 @@ the locale, upstream removed it because they use an intial setup but we don't
 Bug: https://bugs.launchpad.net/bugs/1719938
 Forwarded: not-needed
 ---
- plugins/keyboard/gsd-keyboard-manager.c | 56 ++++++++++++++++++++++++++++++++-
- 1 file changed, 55 insertions(+), 1 deletion(-)
+ plugins/keyboard/gsd-keyboard-manager.c | 64 +++++++++++++++++++++++-
+ 1 file changed, 62 insertions(+), 2 deletions(-)
 
 diff --git a/plugins/keyboard/gsd-keyboard-manager.c b/plugins/keyboard/gsd-keyboard-manager.c
-index fadde34..3b35c69 100644
+index fadde34..6a2b2ba 100644
 --- a/plugins/keyboard/gsd-keyboard-manager.c
 +++ b/plugins/keyboard/gsd-keyboard-manager.c
 @@ -168,6 +168,58 @@ check_xkb_extension (GsdKeyboardManager *manager)
@@ -72,15 +72,57 @@ index fadde34..3b35c69 100644
  static void
  xkb_init (GsdKeyboardManager *manager)
  {
-@@ -762,8 +814,10 @@ maybe_create_initial_settings (GsdKeyboardManager *manager)
+@@ -707,7 +759,7 @@ convert_libgnomekbd_layouts (GSettings *settings)
+         g_object_unref (libgnomekbd_settings);
+ }
+ 
+-static void
++static gboolean
+ maybe_convert_old_settings (GSettings *settings)
+ {
+         GVariant *sources;
+@@ -715,6 +767,7 @@ maybe_convert_old_settings (GSettings *settings)
+         gchar *stamp_dir_path = NULL;
+         gchar *stamp_file_path = NULL;
+         GError *error = NULL;
++        gboolean is_first_run = FALSE;
+ 
+         stamp_dir_path = g_build_filename (g_get_user_data_dir (), PACKAGE_NAME, NULL);
+         if (g_mkdir_with_parents (stamp_dir_path, 0755)) {
+@@ -726,6 +779,8 @@ maybe_convert_old_settings (GSettings *settings)
+         if (g_file_test (stamp_file_path, G_FILE_TEST_EXISTS))
+                 goto out;
+ 
++        is_first_run = TRUE;
++
+         sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
+         if (g_variant_n_children (sources) < 1) {
+                 convert_libgnomekbd_layouts (settings);
+@@ -744,6 +799,8 @@ maybe_convert_old_settings (GSettings *settings)
+ out:
+         g_free (stamp_file_path);
+         g_free (stamp_dir_path);
++
++        return is_first_run;
+ }
+ 
+ static void
+@@ -758,7 +815,7 @@ maybe_create_initial_settings (GsdKeyboardManager *manager)
+         if (g_getenv ("RUNNING_UNDER_GDM"))
+                 return;
+ 
+-        maybe_convert_old_settings (settings);
++        gboolean is_first_run = maybe_convert_old_settings (settings);
  
          /* 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)
-+        if (g_variant_n_children (sources) < 1) {
+@@ -766,6 +823,9 @@ maybe_create_initial_settings (GsdKeyboardManager *manager)
                  get_sources_from_xkb_config (manager);
-+                add_ibus_sources_from_locale (settings);
-+        }
          g_variant_unref (sources);
  
++        if (is_first_run)
++                add_ibus_sources_from_locale (settings);
++
          options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS);
+         if (g_strv_length (options) < 1)
+                 get_options_from_xkb_config (manager);
-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop

Reply via email to