diff options
author | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-06-08 07:06:17 (GMT) |
---|---|---|
committer | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-06-08 07:06:17 (GMT) |
commit | 75fc8ab96ee142ade5362eeaa94ce7e47ebcb579 (patch) | |
tree | 36a8c57866582eeff875615c0aeb1a0f148ba1c3 /src/corelib/kernel/qeventdispatcher_unix.cpp | |
parent | 93ea4a9cd6336de6e2a63b1ca075a7fdb835cfa7 (diff) | |
parent | 23ae8b6badfd688f962590268a6147771d27266c (diff) | |
download | Qt-75fc8ab96ee142ade5362eeaa94ce7e47ebcb579.zip Qt-75fc8ab96ee142ade5362eeaa94ce7e47ebcb579.tar.gz Qt-75fc8ab96ee142ade5362eeaa94ce7e47ebcb579.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into softkeys
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_unix.cpp')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_unix.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index 6aa3b56..f7293d4 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -420,10 +420,18 @@ bool QTimerInfoList::timerWait(timeval &tm) timeval currentTime = updateCurrentTime(); repairTimersIfNeeded(); - if (isEmpty()) - return false; + // Find first waiting timer not already active + QTimerInfo *t = 0; + for (QTimerInfoList::const_iterator it = constBegin(); it != constEnd(); ++it) { + if (!(*it)->inTimerEvent) { + t = *it; + break; + } + } + + if (!t) + return false; - QTimerInfo *t = first(); // first waiting timer if (currentTime < t->timeout) { // time to wait tm = t->timeout - currentTime; |