aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog8
-rw-r--r--shell/e-component-registry.c6
-rw-r--r--shell/e-shell-settings-dialog.c8
3 files changed, 19 insertions, 3 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 0cb14c6725..3cfc6dffeb 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-30 Not Zed <NotZed@Ximian.com>
+
+ * e-component-registry.c (query_components): do the same as below.
+
+ * e-shell-settings-dialog.c (load_pages): use
+ gnome_i18n_get_language_list instead of e_get_language_list(), and
+ use the right locale option. Fixes #53398.
+
2004-04-28 Rodney Dawes <dobey@ximian.com>
* main.c (main): Call gnome_program_init with PACKAGE "-" BASE_VERSION
diff --git a/shell/e-component-registry.c b/shell/e-component-registry.c
index a803af223c..29d19b3812 100644
--- a/shell/e-component-registry.c
+++ b/shell/e-component-registry.c
@@ -134,6 +134,7 @@ query_components (EComponentRegistry *registry)
Bonobo_ServerInfoList *info_list;
CORBA_Environment ev;
GSList *language_list;
+ const GList *l;
char *query;
int i;
@@ -150,7 +151,9 @@ query_components (EComponentRegistry *registry)
return;
}
- language_list = e_get_language_list ();
+ l = gnome_i18n_get_language_list("LC_MESSAGES");
+ for (language_list=NULL;l;l=l->next)
+ language_list = g_slist_append(language_list, l->data);
for (i = 0; i < info_list->_length; i++) {
const char *id;
@@ -191,6 +194,7 @@ query_components (EComponentRegistry *registry)
if (icon != NULL)
g_object_unref (icon);
}
+ g_slist_free(language_list);
CORBA_free (info_list);
CORBA_exception_free (&ev);
diff --git a/shell/e-shell-settings-dialog.c b/shell/e-shell-settings-dialog.c
index dbfb2c502a..a6ce5cfdb5 100644
--- a/shell/e-shell-settings-dialog.c
+++ b/shell/e-shell-settings-dialog.c
@@ -156,6 +156,7 @@ load_pages (EShellSettingsDialog *dialog)
EShellSettingsDialogPrivate *priv;
Bonobo_ServerInfoList *control_list;
CORBA_Environment ev;
+ const GList *l;
GSList *language_list;
GList *page_list;
GList *p;
@@ -174,7 +175,10 @@ load_pages (EShellSettingsDialog *dialog)
CORBA_exception_free (&ev);
- language_list = e_get_language_list ();
+ /* Great, one uses GList the other GSList (!) */
+ l = gnome_i18n_get_language_list("LC_MESSAGES");
+ for (language_list=NULL;l;l=l->next)
+ language_list = g_slist_append(language_list, l->data);
page_list = NULL;
for (i = 0; i < control_list->_length; i ++) {
@@ -235,6 +239,7 @@ load_pages (EShellSettingsDialog *dialog)
CORBA_exception_free (&ev);
}
+ g_slist_free(language_list);
page_list = sort_page_list (page_list);
for (p = page_list, i = 0; p != NULL; p = p->next, i++) {
@@ -263,7 +268,6 @@ load_pages (EShellSettingsDialog *dialog)
}
g_list_free (page_list);
- e_free_language_list (language_list);
CORBA_free (control_list);
}