summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-04-24 01:10:53 -0500
committerSlávek Banko <slavek.banko@axis.cz>2012-06-03 03:27:10 +0200
commit0d8f014e25c6153da88a4df237c2670dfd997915 (patch)
tree29800e896e69fa62ed0a8b349a49140480cf5c34
parent1bd1c6586c658d3aa7195c34eaf009c61ffa7e73 (diff)
downloadtdebase-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.cpp11
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 );