diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-04-24 01:10:53 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-06-03 03:27:10 +0200 |
commit | 0d8f014e25c6153da88a4df237c2670dfd997915 (patch) | |
tree | 29800e896e69fa62ed0a8b349a49140480cf5c34 | |
parent | 1bd1c6586c658d3aa7195c34eaf009c61ffa7e73 (diff) | |
download | tdebase-0d8f014e25c6153da88a4df237c2670dfd997915.tar.gz tdebase-0d8f014e25c6153da88a4df237c2670dfd997915.zip |
Start minimal dcop system to support kwin in kdm
This speeds up kdm load as well as lessens problems with tmpfs space
(cherry picked from commit 66a19439090d7b0945253cb813f0195488e1d8ff)
-rw-r--r-- | kdm/kfrontend/kgapp.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp index 773a0bf5b..34c6c3f15 100644 --- a/kdm/kfrontend/kgapp.cpp +++ b/kdm/kfrontend/kgapp.cpp @@ -192,6 +192,7 @@ kg_main( const char *argv0 ) KProcess *tsak = 0; KProcess *proc = 0; KProcess *comp = 0; + KProcess *dcop = 0; KProcess *kwin = 0; trinity_desktop_lock_use_sak = _useSAK; @@ -317,6 +318,13 @@ kg_main( const char *argv0 ) } if (!_windowManager.isEmpty()) { + if (_windowManager == "kwin") { + // Special case + // Start DCOP... + dcop = new KProcess; + *dcop << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "dcopserver" << TQCString("--suicide"); + dcop->start(); + } kwin = new KProcess; *kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii(); kwin->start(); @@ -462,11 +470,14 @@ kg_main( const char *argv0 ) if (login_session_wm.endsWith("/startkde") || (login_session_wm == "failsafe")) { kwin->closeStdin(); kwin->detach(); + dcop->detach(); } else { kwin->kill(); + dcop->kill(); } delete kwin; + delete dcop; } delete proc; UnsecureDisplay( dpy ); |