http://bugzilla.gnome.org/show_bug.cgi?id=107634 Since glibc-2.3 this is not tolerated and breaks many apps (in non-english languages): Evolution, Gabber, gdm, xmms etc. Reproducible: Always Steps to Reproduce: /* gcc -Wall locale.c -o locale `gtk-config --cflags gtk` `gtk-config --libs gtk` ; ./locale */ #include <stdlib.h> #include <stdio.h> #include <locale.h> #include <gtk/gtk.h> int main (int argc, char **argv) { setlocale(LC_ALL, "cs_CZ"); printf ("Locale is: %s\n", setlocale (LC_CTYPE, NULL)); gtk_init(&argc, &argv); gtk_rc_init(); printf ("Locale is: %s\n", setlocale (LC_CTYPE, NULL)); exit(0); } Actual Results: Locale is: cs_CZ Locale is: cs Expected Results: Locale is: cs_CZ Locale is: cs_CZ The bug can be solved by removing all gtkrc.c code from Gentoo patch or by backporting fix done a year ago in gtk-2.
Created attachment 9018 [details, diff] gtk-no-alter-locale.patch There are more solutions (in orded): 1) Update Gentoo patch to CVS version and remove everything about gtkrc.c. 2) Update Gentoo patch to CVS version. 3) Remove everything about gtkrc.c from Gentoo patch. 4) Add attached patch.
patch committed. Thanks for your help :)