summaryrefslogtreecommitdiffstats
path: root/kdm
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 /kdm
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)
Diffstat (limited to 'kdm')
-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 );