summaryrefslogtreecommitdiffstats
path: root/redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-06 12:16:27 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-06 12:16:27 -0500
commitecd088049d4aa2e8262f4cc1e0ac45e135964229 (patch)
tree49ed22e9e7852fd3f26854aecf41c96169d59629 /redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch
parent855439d3f99b0c152c33ae76a06cce9853f9b8dd (diff)
parent01a7863524342e1aec31679e55d08830cc571066 (diff)
downloadtde-packaging-ecd088049d4aa2e8262f4cc1e0ac45e135964229.tar.gz
tde-packaging-ecd088049d4aa2e8262f4cc1e0ac45e135964229.zip
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tde-packaging
Diffstat (limited to 'redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch')
-rw-r--r--redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch84
1 files changed, 0 insertions, 84 deletions
diff --git a/redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch b/redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch
deleted file mode 100644
index 6cb257d9b..000000000
--- a/redhat/tdebase/kdebase-3.5.13-fix_lock_failure.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-commit 67a3a8f34892a6491ba0073a3f583503b44e58e7
-Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: 1335211141 -0500
-
- Fix desktop lock failure due to race condition within signal handler between qt and xcb
-
-diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
-index c0050d3..3c67ac0 100644
---- a/kdesktop/lock/lockprocess.cc
-+++ b/kdesktop/lock/lockprocess.cc
-@@ -659,6 +659,7 @@ void LockProcess::startSecureDialog()
- mBusy = false;
- trinity_desktop_lock_in_sec_dlg = false;
- if (ret == 0) {
-+ trinity_desktop_lock_closing_windows = 1;
- kapp->quit();
- }
- if (ret == 1) {
-@@ -687,6 +688,7 @@ void LockProcess::startSecureDialog()
- mBusy = false;
- }
- if (ret == 2) {
-+ trinity_desktop_lock_closing_windows = 1;
- if (system("ksysguard &") == -1) {
- // Error handler to shut up gcc warnings
- }
-diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
-index 5853da1..225d9c5 100644
---- a/kdesktop/lock/main.cc
-+++ b/kdesktop/lock/main.cc
-@@ -260,7 +260,7 @@ int main( int argc, char **argv )
-
- 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;
-diff --git a/kdesktop/lockeng.cc b/kdesktop/lockeng.cc
-index 9eb88e1..f24d02f 100644
---- a/kdesktop/lockeng.cc
-+++ b/kdesktop/lockeng.cc
-@@ -34,7 +34,7 @@ SaverEngine* m_masterSaverEngine = NULL;
- static void sigusr1_handler(int)
- {
- if (m_masterSaverEngine) {
-- m_masterSaverEngine->lockProcessWaiting();
-+ m_masterSaverEngine->slotLockProcessWaiting();
- }
- }
-
-@@ -445,6 +445,13 @@ void SaverEngine::lockProcessExited()
- }
- }
-
-+void SaverEngine::slotLockProcessWaiting()
-+{
-+ // lockProcessWaiting cannot be called directly from a signal handler, as it will hang in certain obscure circumstances
-+ // Instead we use a single-shot timer to immediately call lockProcessWaiting once control has returned to the Qt main loop
-+ TQTimer::singleShot(0, this, SLOT(lockProcessWaiting()));
-+}
-+
- void SaverEngine::lockProcessWaiting()
- {
- kdDebug(1204) << "SaverEngine: lock exited" << endl;
-diff --git a/kdesktop/lockeng.h b/kdesktop/lockeng.h
-index ae08e9a..e42a048 100644
---- a/kdesktop/lockeng.h
-+++ b/kdesktop/lockeng.h
-@@ -79,11 +79,12 @@ public:
- virtual void saverLockReady();
-
- public slots:
-- void lockProcessWaiting();
-+ void slotLockProcessWaiting();
-
- protected slots:
- void idleTimeout();
- void lockProcessExited();
-+ void lockProcessWaiting();
-
- private slots:
- void handleSecureDialog();