Changing the language only takes effect after another login

Bug #1397449 reported by felix
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Light Display Manager
New
Undecided
Unassigned

Bug Description

When I switch languages in lightdm (GTK greeter), the language settings is stored in ~/.dmrc, but not in the LANG environment variable. Therefore the setting takes effect only after I log out and log in again.

I looked into lightdm's source code, and I noticed a strange asymmetry: in common/user-list.c, common_user_get_language() reads the language from a private variable, while common_user_set_language() writes it to .dmrc but not to the same private variable. There is a similar discrepancy in the common_user_get_session() and common_user_set_session() pair of methods. The getters also call load_dmrc() which loads the contents of .dmrc into the private variables, but the latter function has an if guard that prevent .dmrc from being read twice. Later in src/seat.c, create_user_session() feeds configure_session() with the values read from the getters, and the bug ensues.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.