diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-19 17:14:29 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-19 17:14:29 -0600 |
commit | 4de72a5ddd70b37c4e077c53dd60d1a8e4da7466 (patch) | |
tree | e91d46e7f0aa681ac609a03976ad55ca3970fd3b | |
parent | 3770ba8520135f8212c2c375c99754872f225b49 (diff) | |
download | tdebase-4de72a5ddd70b37c4e077c53dd60d1a8e4da7466.tar.gz tdebase-4de72a5ddd70b37c4e077c53dd60d1a8e4da7466.zip |
Attempt to work around issue described in Bug 1288
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 15 |
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; + } } } } |