diff options
Diffstat (limited to 'kdesktop/lock')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 29 | ||||
-rw-r--r-- | kdesktop/lock/main.cc | 12 |
2 files changed, 27 insertions, 14 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index acb4889a9..c0050d308 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -658,6 +658,10 @@ void LockProcess::startSecureDialog() mBusy = true; execDialog( &inDlg ); mBusy = false; + bool forcecontdisp = mForceContinualLockDisplayTimer->isActive(); + if (forcecontdisp) { + DISABLE_CONTINUOUS_LOCKDLG_DISPLAY + } trinity_desktop_lock_in_sec_dlg = false; if (ret == 0) { kapp->quit(); @@ -690,6 +694,9 @@ void LockProcess::startSecureDialog() } // FIXME // Handle remaining two cases (logoff menu and switch user) + if (forcecontdisp) { + ENABLE_CONTINUOUS_LOCKDLG_DISPLAY + } stopSaver(); } @@ -1495,17 +1502,21 @@ void LockProcess::hackExited(KProcess *) void LockProcess::displayLockDialogIfNeeded() { - if (m_startupStatusDialog) { m_startupStatusDialog->closeSMDialog(); m_startupStatusDialog=NULL; } - if (trinity_desktop_lock_use_system_modal_dialogs) { - if (!mBusy) { - mBusy = true; - if (mLocked) { - if (checkPass()) { - stopSaver(); - kapp->quit(); + if (m_startupStatusDialog) { + m_startupStatusDialog->closeSMDialog(); m_startupStatusDialog=NULL; + } + if (!trinity_desktop_lock_in_sec_dlg) { + if (trinity_desktop_lock_use_system_modal_dialogs) { + if (!mBusy) { + mBusy = true; + if (mLocked) { + if (checkPass()) { + stopSaver(); + kapp->quit(); + } } + mBusy = false; } - mBusy = false; } } } diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc index 93206951d..5853da17a 100644 --- a/kdesktop/lock/main.cc +++ b/kdesktop/lock/main.cc @@ -252,19 +252,21 @@ int main( int argc, char **argv ) } } - if (args->isSet( "forcelock" ) || (signalled_forcelock == TRUE)) + if (args->isSet( "forcelock" ) || (signalled_forcelock == TRUE)) { trinity_desktop_lock_forced = TRUE; + } LockProcess process(child, (args->isSet( "blank" ) || (signalled_blank == TRUE))); - if (!child) + if (!child) { process.setChildren(child_sockets); - else + } + else { process.setParent(parent_connection); + } bool rt; bool sig = false; - if( !child && (args->isSet( "forcelock" ) || (signalled_forcelock == TRUE))) - { + if( (!child && (args->isSet( "forcelock" )) || (signalled_forcelock == TRUE))) { rt = process.lock(); sig = true; } |