summaryrefslogtreecommitdiffstats
path: root/kdesktop/lock
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop/lock')
-rw-r--r--kdesktop/lock/lockprocess.cc29
-rw-r--r--kdesktop/lock/main.cc12
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;
}