diff --git a/ChangeLog b/ChangeLog index 94a510602c..a4b35b36db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-09-29 Tor Lillqvist + + * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is + passed to bindtextdomain() which isn't UTF-8-aware, so convert to + system codepage using g_win32_locale_filename_from_utf8(). + (#317457, Kazuki Iwamoto) + 2005-09-28 Matthias Clasen * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 94a510602c..a4b35b36db 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2005-09-29 Tor Lillqvist + + * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is + passed to bindtextdomain() which isn't UTF-8-aware, so convert to + system codepage using g_win32_locale_filename_from_utf8(). + (#317457, Kazuki Iwamoto) + 2005-09-28 Matthias Clasen * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 5986a35c95..601217a4f9 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -297,9 +297,18 @@ _gtk_get_localedir (void) { static char *gtk_localedir = NULL; if (gtk_localedir == NULL) - gtk_localedir = g_win32_get_package_installation_subdirectory - (GETTEXT_PACKAGE, dll_name, "lib\\locale"); + { + gchar *temp; + + temp = g_win32_get_package_installation_subdirectory + (GETTEXT_PACKAGE, dll_name, "lib\\locale"); + /* gtk_localedir is passed to bindtextdomain() which isn't + * UTF-8-aware. + */ + gtk_localedir = g_win32_locale_filename_from_utf8 (temp); + g_free (temp); + } return gtk_localedir; }