[gnome-initial-setup] language: Ensure accountsservice is initialized
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] language: Ensure accountsservice is initialized
- Date: Tue, 30 Apr 2013 14:46:47 +0000 (UTC)
commit 50974ba0246b572db5917b322ffd3e6b4528a09c
Author: Michael Wood <michael g wood intel com>
Date: Tue Apr 30 15:17:53 2013 +0100
language: Ensure accountsservice is initialized
Ensure accountservice has loaded the user before trying to set the
language.
https://bugzilla.gnome.org/show_bug.cgi?id=698611
.../pages/language/gis-language-page.c | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/gnome-initial-setup/pages/language/gis-language-page.c
b/gnome-initial-setup/pages/language/gis-language-page.c
index 4fce033..b6279d2 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.c
+++ b/gnome-initial-setup/pages/language/gis-language-page.c
@@ -99,6 +99,18 @@ change_locale_permission_acquired (GObject *source,
}
static void
+user_loaded (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ gchar *new_locale_id = user_data;
+
+ act_user_set_language (ACT_USER (object), new_locale_id);
+
+ g_free (new_locale_id);
+}
+
+static void
language_changed (CcLanguageChooser *chooser,
GParamSpec *pspec,
GisLanguagePage *page)
@@ -123,7 +135,13 @@ language_changed (CcLanguageChooser *chooser,
}
user = act_user_manager_get_user (act_user_manager_get_default (),
g_get_user_name ());
- act_user_set_language (user, priv->new_locale_id);
+ if (act_user_is_loaded (user))
+ act_user_set_language (user, priv->new_locale_id);
+ else
+ g_signal_connect (user,
+ "notify::is-loaded",
+ G_CALLBACK (user_loaded),
+ g_strdup (priv->new_locale_id));
gis_driver_set_user_language (driver, priv->new_locale_id);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]