diff options
Diffstat (limited to 'kdm/kfrontend')
-rw-r--r-- | kdm/kfrontend/kgapp.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp index 5e1581fb2..1f2cd64da 100644 --- a/kdm/kfrontend/kgapp.cpp +++ b/kdm/kfrontend/kgapp.cpp @@ -186,8 +186,11 @@ kg_main( const char *argv0 ) KCrash::setSafer( true ); trinity_desktop_lock_use_sak = _useSAK; + KProcess *tsak = 0; if (trinity_desktop_lock_use_sak) { - system(TQString(TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "tsak &").ascii()); + tsak = new KProcess; + *tsak << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "tsak"; + tsak->start(); } #ifdef HAVE_XCOMPOSITE @@ -429,6 +432,11 @@ kg_main( const char *argv0 ) kwin->detach(); delete kwin; } + if (tsak) { + tsak->closeStdin(); + tsak->detach(); + delete tsak; + } delete proc; UnsecureDisplay( dpy ); restore_modifiers(); |