diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2015-10-11 10:07:45 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2015-10-11 10:07:48 +0200 |
commit | fce47f535c4a917821f01d6feda7073669198665 (patch) | |
tree | f50b8c027b4b19978696ee00a76ab32eb5366139 /tdm | |
parent | adbe9f7f5f9c0a0b872d35f4401dadad25ef4b06 (diff) | |
download | tdebase-fce47f535c4a917821f01d6feda7073669198665.tar.gz tdebase-fce47f535c4a917821f01d6feda7073669198665.zip |
Terminate compositor in TDM unless a TDE or failsafe session was selected
This relates to Bug 2521
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'tdm')
-rw-r--r-- | tdm/kfrontend/kgapp.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tdm/kfrontend/kgapp.cpp b/tdm/kfrontend/kgapp.cpp index 2c78769bd..c0000aef0 100644 --- a/tdm/kfrontend/kgapp.cpp +++ b/tdm/kfrontend/kgapp.cpp @@ -553,7 +553,8 @@ kg_main( const char *argv0 ) } if (comp) { if (comp->isRunning()) { - if (_compositor == TDE_COMPOSITOR_BINARY) { + if (((login_session_wm == "tde") || (login_session_wm == "trinity") || (login_session_wm == "failsafe")) && + (_compositor == TDE_COMPOSITOR_BINARY)) { // Change process UID // Get user UID passwd* userinfo = getpwnam(login_user.ascii()); @@ -566,9 +567,12 @@ kg_main( const char *argv0 ) comp->writeStdin(newuid.ascii(), newuid.length()); usleep(50000); // Give the above function some time to execute. Note that on REALLY slow systems this could fail, leaving kompmgr running as root. TODO: Look into ways to make this more robust. } + comp->closeStdin(); + comp->detach(); + } + else { + comp->kill(); } - comp->closeStdin(); - comp->detach(); } delete comp; } |