diff options
author | Liang Qi <liang.qi@qt.io> | 2017-01-30 12:39:22 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-01-30 12:46:20 +0100 |
commit | 246799d8a7bf42c1f22fca7ef6d77e8d58054bad (patch) | |
tree | a0b92a804d7d2a30cd68fa327df5777d8bcc36ba /src/testlib/qtestsystem.h | |
parent | 5ad191850becd7dc1d61d0975f141a5db64e6373 (diff) | |
parent | 02cc57f4edbae450ecfa8368052afa44f8aeee19 (diff) | |
download | qtbase-246799d8a7bf42c1f22fca7ef6d77e8d58054bad.tar.gz |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
examples/network/network-chat/peermanager.cpp
src/widgets/util/qsystemtrayicon.cpp
src/widgets/util/qsystemtrayicon_qpa.cpp
src/widgets/util/qsystemtrayicon_win.cpp
src/widgets/util/qsystemtrayicon_x11.cpp
Change-Id: I1c026df83818c0ccaf956980370e7522960627db
Diffstat (limited to 'src/testlib/qtestsystem.h')
-rw-r--r-- | src/testlib/qtestsystem.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 98daa0392e..b39fa17a34 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -42,7 +42,7 @@ #include <QtTest/qtestcase.h> #include <QtCore/qcoreapplication.h> -#include <QtCore/qelapsedtimer.h> +#include <QtCore/qdeadlinetimer.h> #ifdef QT_GUI_LIB # include <QtGui/QWindow> #endif @@ -58,27 +58,29 @@ namespace QTest { Q_ASSERT(QCoreApplication::instance()); - QElapsedTimer timer; - timer.start(); + QDeadlineTimer timer(ms); + int remaining = ms; do { - QCoreApplication::processEvents(QEventLoop::AllEvents, ms); + QCoreApplication::processEvents(QEventLoop::AllEvents, remaining); QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete); - QTest::qSleep(10); - } while (timer.elapsed() < ms); + remaining = timer.remainingTime(); + if (remaining <= 0) + break; + QTest::qSleep(qMin(10, remaining)); + remaining = timer.remainingTime(); + } while (remaining > 0); } #ifdef QT_GUI_LIB inline static bool qWaitForWindowActive(QWindow *window, int timeout = 5000) { - QElapsedTimer timer; - timer.start(); - while (!window->isActive()) { - int remaining = timeout - int(timer.elapsed()); - if (remaining <= 0) - break; + QDeadlineTimer timer(timeout); + int remaining = timeout; + while (!window->isActive() && remaining > 0) { QCoreApplication::processEvents(QEventLoop::AllEvents, remaining); QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete); QTest::qSleep(10); + remaining = timer.remainingTime(); } // Try ensuring the platform window receives the real position. // (i.e. that window->pos() reflects reality) @@ -99,15 +101,13 @@ namespace QTest inline static bool qWaitForWindowExposed(QWindow *window, int timeout = 5000) { - QElapsedTimer timer; - timer.start(); - while (!window->isExposed()) { - int remaining = timeout - int(timer.elapsed()); - if (remaining <= 0) - break; + QDeadlineTimer timer(timeout); + int remaining = timeout; + while (!window->isExposed() && remaining > 0) { QCoreApplication::processEvents(QEventLoop::AllEvents, remaining); QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete); QTest::qSleep(10); + remaining = timer.remainingTime(); } return window->isExposed(); } |