|
|
@ -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 );
|
|
|
|