summaryrefslogtreecommitdiff
path: root/panels/common
diff options
context:
space:
mode:
authorThomas Wood <thomas.wood@intel.com>2013-06-26 15:46:19 +0100
committerThomas Wood <thomas.wood@intel.com>2013-06-28 11:08:45 +0100
commit0221ffefa1ab7200f1793a171aa61203f8a5f85f (patch)
tree7087816f36c0019d3a51566810182bb4710620f1 /panels/common
parent790d2132199aad204fd79aff45d8b4c3a441e06a (diff)
downloadgnome-control-center-0221ffefa1ab7200f1793a171aa61203f8a5f85f.tar.gz
common: ensure the current language has a display name in the model
https://bugzilla.gnome.org/show_bug.cgi?id=702344
Diffstat (limited to 'panels/common')
-rw-r--r--panels/common/cc-common-language.c9
1 files changed, 8 insertions, 1 deletions
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);