Branch: master

bd35f1ef 2015-10-15 10:33:01 François Andriot
Use system-defined language as default in TDM
This resolves Bug 1596
M tdm/backend/session.c
M tdm/kfrontend/tdm_greet.c
diff --git a/tdm/backend/session.c b/tdm/backend/session.c
index 9a12ce3..4b5f372 100644
--- a/tdm/backend/session.c
+++ b/tdm/backend/session.c
@@ -807,6 +807,10 @@
 	env = baseEnv( user );
 	if (td->authFile)
 		env = setEnv( env, "XAUTHORITY", td->authFile );
+	char *lang = getenv("LANG");
+	if (lang != NULL) {
+		env = setEnv( env, "LANG", lang );
+	}
 	env = setEnv( env, "PATH", td->systemPath );
 	env = setEnv( env, "SHELL", td->systemShell );
 	return env;
diff --git a/tdm/kfrontend/tdm_greet.c b/tdm/kfrontend/tdm_greet.c
index c90ebc1..5c77fad 100644
--- a/tdm/kfrontend/tdm_greet.c
+++ b/tdm/kfrontend/tdm_greet.c
@@ -779,7 +779,12 @@
 		LogPanic( "Cannot save $HOME\n" );
 	atexit( cleanup );
 
-	setenv( "LC_ALL", _language, 1 );
+	if ( getenv( "LANG" ) == NULL ) {
+		setenv( "LC_ALL", _language, 1 );
+	}
+	else {
+		setenv( "LC_ALL", getenv( "LANG" ), 1 );
+	}
 
 	kg_main( argv[0] );