summaryrefslogtreecommitdiffstats
path: root/tdm
diff options
context:
space:
mode:
authorFrançois Andriot <francois.andriot@free.fr>2015-10-15 17:33:01 +0200
committerSlávek Banko <slavek.banko@axis.cz>2015-10-15 17:33:01 +0200
commitbd35f1efd6badf57feab8ea618b49fe670475589 (patch)
treeec26c6a068f37332172ed12733ce590122e6051e /tdm
parente790a336458e02902076daeca9bb0aa6d6455f5a (diff)
downloadtdebase-bd35f1efd6badf57feab8ea618b49fe670475589.tar.gz
tdebase-bd35f1efd6badf57feab8ea618b49fe670475589.zip
Use system-defined language as default in TDM
This resolves Bug 1596
Diffstat (limited to 'tdm')
-rw-r--r--tdm/backend/session.c4
-rw-r--r--tdm/kfrontend/tdm_greet.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/tdm/backend/session.c b/tdm/backend/session.c
index 9a12ce312..4b5f372db 100644
--- a/tdm/backend/session.c
+++ b/tdm/backend/session.c
@@ -807,6 +807,10 @@ systemEnv( const char *user )
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 c90ebc1c9..5c77fadf0 100644
--- a/tdm/kfrontend/tdm_greet.c
+++ b/tdm/kfrontend/tdm_greet.c
@@ -779,7 +779,12 @@ main( int argc ATTR_UNUSED, char **argv )
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] );