summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-19 17:14:29 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-19 17:14:29 -0600
commit4de72a5ddd70b37c4e077c53dd60d1a8e4da7466 (patch)
treee91d46e7f0aa681ac609a03976ad55ca3970fd3b
parent3770ba8520135f8212c2c375c99754872f225b49 (diff)
downloadtdebase-4de72a5ddd70b37c4e077c53dd60d1a8e4da7466.tar.gz
tdebase-4de72a5ddd70b37c4e077c53dd60d1a8e4da7466.zip
Attempt to work around issue described in Bug 1288
-rw-r--r--kdesktop/lock/lockprocess.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
index 1a58d4e52..47fad586c 100644
--- a/kdesktop/lock/lockprocess.cc
+++ b/kdesktop/lock/lockprocess.cc
@@ -58,6 +58,7 @@
#include <tqimage.h>
#include <tqregexp.h>
#include <tqpainter.h>
+#include <tqeventloop.h>
#include <tqdatetime.h>
@@ -1303,9 +1304,19 @@ bool LockProcess::startSaver()
connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) );
mEnsureScreenHiddenTimer->start(DESKTOP_WALLPAPER_OBTAIN_TIMEOUT_MS, true);
}
-
+
+ int exitTimer = 0;
while ((backingPixmap.isNull()) && (mEnsureScreenHiddenTimer->isActive())) {
- kapp->processEvents();
+ kapp->eventLoop()->processEvents(TQEventLoop::ExcludeUserInput);
+
+ // HACK
+ // Work around an issue with the underlying system whereby the TQTimer sometimes fails to time out!
+ // This issue was reported in Bug #1288
+ usleep(100);
+ exitTimer++;
+ if (exitTimer > (DESKTOP_WALLPAPER_OBTAIN_TIMEOUT_MS*10)) {
+ break;
+ }
}
}
}