Comment 3 for bug 930785

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

On 2012-02-13 06:32, Martin Pitt wrote on bug 931060:
> Gunnar Hjalmarsson [2012-02-13 3:01 -0000]:
>> It's the user_locale_validate() function in
>> accountsservice/src/user.c that caused this crash. Is there a simple
>> way to make setlocale() instantly aware of newly generated locales?
>> If not I guess that playing with 'locale -a' in
>> user_locale_validate() would be safer than calling setlocale().
>
> I don't know off-hand myself. My guess is that libc reads them at
> program startup, so somehow you'd need to convince it to re-read it.
>
> But that locale -a workaround wouldn't help language-selector, as you
> still couldn't actually set the locale for language-selector itself or
> the session, you need to relogin in any case.

Actually I think it would help. The moment that currently fails is accountsservice's writing to its keyfile and ~/.pam_environment. So now, when you just have installed a new language, and wants to use a locale of that language for regional formats, you first need to log out/login to be able to accomplish the writing, and then log out/login again to make the new setting part of the actual environment.