summaryrefslogtreecommitdiffstats
path: root/kdesktop
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-05-24 16:00:40 -0500
committerSlávek Banko <slavek.banko@axis.cz>2012-06-03 03:27:33 +0200
commitb79363c6c2dcfce4f931ba4541e0780943c547b5 (patch)
tree92386ebbc1f13a5bf7e74c5bfea3e8968139bcc3 /kdesktop
parentf0e7224bc357c95f6231814173adb5b7f9369c59 (diff)
downloadtdebase-b79363c6c2dcfce4f931ba4541e0780943c547b5.tar.gz
tdebase-b79363c6c2dcfce4f931ba4541e0780943c547b5.zip
Fix screensaver startup over slow X11 connections
(cherry picked from commit d7b0d6767460a68fc3f81e2598f1541c5305b622)
Diffstat (limited to 'kdesktop')
-rw-r--r--kdesktop/lock/lockprocess.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
index 545cd8bc7..0b9285382 100644
--- a/kdesktop/lock/lockprocess.cc
+++ b/kdesktop/lock/lockprocess.cc
@@ -145,11 +145,13 @@ bool trinity_desktop_hack_active = FALSE;
#define ENABLE_CONTINUOUS_LOCKDLG_DISPLAY \
if (!mForceContinualLockDisplayTimer->isActive()) mForceContinualLockDisplayTimer->start(100, FALSE); \
-trinity_desktop_lock_autohide_lockdlg = FALSE;
+trinity_desktop_lock_autohide_lockdlg = FALSE; \
+mHackDelayStartupTimer->stop();
#define DISABLE_CONTINUOUS_LOCKDLG_DISPLAY \
mForceContinualLockDisplayTimer->stop(); \
-trinity_desktop_lock_autohide_lockdlg = TRUE;
+trinity_desktop_lock_autohide_lockdlg = TRUE; \
+mHackDelayStartupTimer->stop();
//===========================================================================
//
@@ -716,6 +718,7 @@ void LockProcess::startSecureDialog()
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
else {
startHack();
@@ -744,6 +747,7 @@ void LockProcess::startSecureDialog()
// Handle remaining case (switch user)
if (forcecontdisp) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
stopSaver();
}
@@ -1012,6 +1016,7 @@ void LockProcess::doDesktopResizeFinish()
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
else {
startHack();
@@ -1289,6 +1294,7 @@ bool LockProcess::startSaver()
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
else {
startHack();
@@ -1531,6 +1537,7 @@ bool LockProcess::startHack()
else bitBlt(this, 0, 0, &backingPixmap);
if (trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
}
}
@@ -1994,6 +2001,7 @@ bool LockProcess::x11Event(XEvent *event)
else {
if (trinity_desktop_lock_use_system_modal_dialogs == true) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
}
else {
resume( false );