diff --git a/src/lxdm.c b/src/lxdm.c index 8ac8478..0996b97 100644 --- a/src/lxdm.c +++ b/src/lxdm.c @@ -1246,6 +1246,23 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option) g_key_file_free(dmrc); } + if(!session ||!session[0] || !lang || !lang[0]) + { + GKeyFile *config = g_key_file_new(); + g_key_file_load_from_file(config, CONFIG_FILE, G_KEY_FILE_NONE, NULL); + if(!session || !session[0]) + { + session = g_key_file_get_string(config, "base", "Session", NULL); + alloc_session = TRUE; + } + if(!lang || !lang[0]) + { + lang = g_key_file_get_string(config,"base", "Language", NULL); + alloc_lang = TRUE; + } + g_key_file_free(config); + } + if(!lxdm_get_session_info(session,&session_name,&session_exec)) { if(alloc_session)