diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2024-08-21 15:43:13 -0500 |
---|---|---|
committer | TDE Gitea <gitea@mirror.git.trinitydesktop.org> | 2024-08-29 16:00:36 +0000 |
commit | 37d12d8d467da6e869e33fce21adea1cd85af166 (patch) | |
tree | 52921419bc5bafba9f802048b9151fd4d73f9894 /kdesktop/lock/lockprocess.h | |
parent | cc5cfd87c722572c90a6c051a6b7be4eadd1f02e (diff) | |
download | tdebase-kdesktop_lock_hang_fix.tar.gz tdebase-kdesktop_lock_hang_fix.zip |
Fix kdesktop lock process hang / denial of servicekdesktop_lock_hang_fix
Under specific circumstances, kdesktop_lock may fail to engage the screen
lock when requested. When this occurs, the user is typically present to
observe and attempt relock, however the kdesktop_lock process may not respond
once the lock has failed to engage and the process has not been restarted.
Add a fallback handler for SIGHUP (lock engage) to the kdesktop_lock startup
application thread. This ensures the process will always respond to a lock
request regardless of lock process state.
Signed-off-by: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Diffstat (limited to 'kdesktop/lock/lockprocess.h')
-rw-r--r-- | kdesktop/lock/lockprocess.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kdesktop/lock/lockprocess.h b/kdesktop/lock/lockprocess.h index bfe1fe420..e2a761963 100644 --- a/kdesktop/lock/lockprocess.h +++ b/kdesktop/lock/lockprocess.h @@ -4,7 +4,7 @@ // // Copyright (c) 1999 Martin R. Jones <mjones@kde.org> // Copyright (c) 2003 Oswald Buddenhagen <ossi@kde.org> -// Copyright (c) 2010 - 2015 Timothy Pearson <kb9vqf@pearsoncomputing.net> +// Copyright (c) 2010 - 2024 Timothy Pearson <kb9vqf@pearsoncomputing.net> // #ifndef __LOCKENG_H__ @@ -104,6 +104,8 @@ class LockProcess : public TQWidget void msgBox( TQMessageBox::Icon type, const TQString &txt ); int execDialog( TQDialog* dlg ); + bool lockPending(); + TDECryptographicCardDevice* cryptographicCardDevice(); signals: @@ -181,6 +183,8 @@ class LockProcess : public TQWidget void generateBackingImages(); void fullyOnline(); + bool mInitialized; + bool mLockPending; bool mLocked; int mLockGrace; int mPriority; |