summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-05-24 16:00:40 -0500
committerTimothy Pearson <[email protected]>2012-05-24 16:00:40 -0500
commitd7b0d6767460a68fc3f81e2598f1541c5305b622 (patch)
tree4d416b0be02e65afc402522dcfab7171292eb083
parentb70ccd542a93d69df25a5af2ad930e21c546a8b6 (diff)
downloadtdebase-d7b0d6767460a68fc3f81e2598f1541c5305b622.tar.gz
tdebase-d7b0d6767460a68fc3f81e2598f1541c5305b622.zip
Fix screensaver startup over slow X11 connections
-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 c5ad90734..da8a00373 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 );