summaryrefslogtreecommitdiffstats
path: root/kdesktop/lock/lockprocess.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r--kdesktop/lock/lockprocess.cc29
1 files changed, 20 insertions, 9 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;
}
}
}