diff options
| author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-05-03 15:55:11 -0500 |
|---|---|---|
| committer | Slávek Banko <slavek.banko@axis.cz> | 2013-05-05 05:09:57 +0200 |
| commit | 20180a433681e96f62b7fae29800b0cdd560e775 (patch) | |
| tree | 29a9f64a00513891b29cc2d02098b177435b7e3c /kdesktop/lock/lockprocess.cc | |
| parent | 1f8bdc6151e34f22dbcf4c863a67636451f48dfb (diff) | |
| download | tdebase-20180a433681e96f62b7fae29800b0cdd560e775.tar.gz tdebase-20180a433681e96f62b7fae29800b0cdd560e775.zip | |
Properly fix task tray background glitches
Ensure session is fully locked before switching to new VT when lock is requested
(cherry picked from commit 3cce16c2543ebd7441477b466b35c89333eef28c)
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
| -rw-r--r-- | kdesktop/lock/lockprocess.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index a0d8b781e..ff12d2059 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -173,6 +173,7 @@ extern bool trinity_desktop_lock_hide_active_windows; extern bool trinity_desktop_lock_forced; extern bool argb_visual; +extern pid_t kdesktop_pid; extern TQXLibWindowList trinity_desktop_lock_hidden_window_list; @@ -224,6 +225,7 @@ LockProcess::LockProcess() mHackStartupEnabled(true), mOverrideHackStartupEnabled(false), mResizingDesktopLock(false), + mFullyOnlineSent(false), m_rootPixmap(NULL), mBackingStartupDelayTimer(0), m_startupStatusDialog(NULL), @@ -1091,6 +1093,8 @@ void LockProcess::createSaverWindow() } } + fullyOnline(); + kdDebug(1204) << "Saver window Id: " << winId() << endl; } @@ -2751,4 +2755,19 @@ void LockProcess::slotMouseActivity(XEvent *event) } } +void LockProcess::fullyOnline() { + if (!mFullyOnlineSent) { + if (kdesktop_pid > 0) { + if (kill(kdesktop_pid, SIGUSR2) < 0) { + // The controlling kdesktop process probably died. Commit suicide... + // Exit uncleanly + exit(1); + } + else { + mFullyOnlineSent = true; + } + } + } +} + #include "lockprocess.moc" |
