diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-04-27 03:19:38 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-06-03 03:27:16 +0200 |
commit | 33f1ecab8492e686c4bd736419ca1ae33e2c6eea (patch) | |
tree | 84b34fd2784343dc19dae754a52ef5751fc54690 /kdesktop | |
parent | 9c17452032ed5e886f29c18c32898beb23c65d95 (diff) | |
download | tdebase-33f1ecab8492e686c4bd736419ca1ae33e2c6eea.tar.gz tdebase-33f1ecab8492e686c4bd736419ca1ae33e2c6eea.zip |
Harden lock against rare race condition that caused two password prompts to appear
Provide alternate secure dialog text string when username cannot be obtained
(cherry picked from commit e899b7beb6b0f2db8c08dfdc14c29efb99046086)
Diffstat (limited to 'kdesktop')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 2 | ||||
-rw-r--r-- | kdesktop/lock/securedlg.cc | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index 3fb068b6f..80616b79c 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -1542,6 +1542,7 @@ void LockProcess::displayLockDialogIfNeeded() mBusy = true; if (mLocked) { if (checkPass()) { + trinity_desktop_lock_closing_windows = true; stopSaver(); kapp->quit(); } @@ -1882,6 +1883,7 @@ bool LockProcess::x11Event(XEvent *event) else { if (!mLocked || checkPass()) { + trinity_desktop_lock_closing_windows = true; stopSaver(); kapp->quit(); } diff --git a/kdesktop/lock/securedlg.cc b/kdesktop/lock/securedlg.cc index 68c56e7c3..f074ec75a 100644 --- a/kdesktop/lock/securedlg.cc +++ b/kdesktop/lock/securedlg.cc @@ -91,7 +91,12 @@ SecureDlg::SecureDlg(LockProcess *parent) if (userString == "") { userString = user.loginName(); } - mLogonStatus->setText(i18n("'%1' is currently logged on").arg( user.fullName() )); + if (userString != "") { + mLogonStatus->setText(i18n("'%1' is currently logged on").arg( user.fullName() )); + } + else { + mLogonStatus->setText(i18n("You are currently logged on")); // We should never get here, and this message is somewhat obtuse, but it is better than displaying two qotation marks with no text between them... + } KSeparator *sep = new KSeparator( KSeparator::HLine, frame ); |