From 0221ffefa1ab7200f1793a171aa61203f8a5f85f Mon Sep 17 00:00:00 2001 From: Thomas Wood Date: Wed, 26 Jun 2013 15:46:19 +0100 Subject: common: ensure the current language has a display name in the model https://bugzilla.gnome.org/show_bug.cgi?id=702344 --- panels/common/cc-common-language.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'panels/common') diff --git a/panels/common/cc-common-language.c b/panels/common/cc-common-language.c index 9cfbc7f36..7c16af7f5 100644 --- a/panels/common/cc-common-language.c +++ b/panels/common/cc-common-language.c @@ -601,7 +601,10 @@ insert_language (GHashTable *ht, g_debug ("We have translations for %s", lang); - key = g_strdup_printf ("%s.utf8", lang); + if (g_str_has_suffix (lang, ".utf8")) + key = g_strdup (lang); + else + key = g_strdup_printf ("%s.utf8", lang); label_own_lang = gnome_get_language_from_locale (key, key); label_current_lang = gnome_get_language_from_locale (key, NULL); @@ -738,6 +741,10 @@ cc_common_language_add_user_languages (GtkTreeModel *model) /* Add the current locale first */ name = cc_common_language_get_current_language (); display = g_hash_table_lookup (user_langs, name); + if (!display) { + insert_language (user_langs, name); + display = g_hash_table_lookup (user_langs, name); + } gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, LOCALE_COL, name, DISPLAY_LOCALE_COL, display, -1); -- cgit v1.2.1