~lightdm-team/lightdm/1.4

« back to all changes in this revision

Viewing changes to src/display.c

  • Committer: robert.ancell at canonical
  • Date: 2011-02-12 02:25:21 UTC
  • Revision ID: robert.ancell@canonical.com-20110212022521-yiy1wn3zro17rjo3
Use LANGUAGE and LC_MESSAGES from the .dmrc OR the environment

Show diffs side-by-side

added added

removed removed

Lines of Context:
434
434
    if (language && (!old_language || !g_str_equal(language, old_language)))
435
435
    {
436
436
        g_key_file_set_string (dmrc_file, "Desktop", "Language", language);
 
437
        /* We don't have advanced language checking, so reset these variables */
437
438
        g_key_file_remove_key (dmrc_file, "Desktop", "Langlist", NULL);
438
439
        g_key_file_remove_key (dmrc_file, "Desktop", "LCMess", NULL);
439
440
    }
465
466
 
466
467
        if (session_command)
467
468
        {
468
 
            gchar *session_language, *session_language_list, *session_lc_messages, *layout;
 
469
            gchar *session_language, *session_language_list = NULL, *session_lc_messages = NULL, *layout;
469
470
            gchar *data;
470
471
            gsize length;
471
472
 
479
480
 
480
481
            /* Override default language with user specified one */
481
482
            session_language = g_key_file_get_string (dmrc_file, "Desktop", "Language", NULL);
482
 
            if (!session_language && getenv ("LANG"))
483
 
                session_language = g_strdup (getenv ("LANG"));
484
 
            session_language_list = g_key_file_get_string (dmrc_file, "Desktop", "Langlist", NULL);
485
 
            if (!session_language_list && getenv ("LANGUAGE"))
486
 
                session_language_list = g_strdup (getenv ("LANGUAGE"));
487
 
            session_lc_messages = g_key_file_get_string (dmrc_file, "Desktop", "LCMess", NULL);
488
 
            if (!session_lc_messages && getenv ("LC_MESSAGES"))
489
 
                session_lc_messages = g_strdup (getenv ("LC_MESSAGES"));
 
483
            if (session_language)
 
484
            {
 
485
                session_language_list = g_key_file_get_string (dmrc_file, "Desktop", "Langlist", NULL);
 
486
                session_lc_messages = g_key_file_get_string (dmrc_file, "Desktop", "LCMess", NULL);
 
487
            }
 
488
            else
 
489
            {
 
490
                if (getenv ("LANG"))
 
491
                    session_language = g_strdup (getenv ("LANG"));
 
492
                if (getenv ("LANGUAGE"))
 
493
                    session_language_list = g_strdup (getenv ("LANGUAGE"));
 
494
                if (getenv ("LC_MESSAGES"))
 
495
                    session_lc_messages = g_strdup (getenv ("LC_MESSAGES"));
 
496
            }
490
497
 
491
498
            layout = g_key_file_get_string (dmrc_file, "Desktop", "Layout", NULL);
492
499