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 66a1943909)
v3.5.13-sru
Timothy Pearson 13 years ago committed by Slávek Banko
parent 1bd1c6586c
commit 0d8f014e25

@ -192,6 +192,7 @@ kg_main( const char *argv0 )
KProcess *tsak = 0; KProcess *tsak = 0;
KProcess *proc = 0; KProcess *proc = 0;
KProcess *comp = 0; KProcess *comp = 0;
KProcess *dcop = 0;
KProcess *kwin = 0; KProcess *kwin = 0;
trinity_desktop_lock_use_sak = _useSAK; trinity_desktop_lock_use_sak = _useSAK;
@ -317,6 +318,13 @@ kg_main( const char *argv0 )
} }
if (!_windowManager.isEmpty()) { 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 = new KProcess;
*kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii(); *kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii();
kwin->start(); kwin->start();
@ -462,11 +470,14 @@ kg_main( const char *argv0 )
if (login_session_wm.endsWith("/startkde") || (login_session_wm == "failsafe")) { if (login_session_wm.endsWith("/startkde") || (login_session_wm == "failsafe")) {
kwin->closeStdin(); kwin->closeStdin();
kwin->detach(); kwin->detach();
dcop->detach();
} }
else { else {
kwin->kill(); kwin->kill();
dcop->kill();
} }
delete kwin; delete kwin;
delete dcop;
} }
delete proc; delete proc;
UnsecureDisplay( dpy ); UnsecureDisplay( dpy );

Loading…
Cancel
Save