From c7fb7a678251a6fc090d851b897f67d561b66625 Mon Sep 17 00:00:00 2001 From: Charles Yin Date: Fri, 16 Mar 2012 15:09:18 +1000 Subject: Fix broken qWaitForWindowShown() behavior MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qWaitForWindowShown() should check window->isActive() instead of window->isExposed() and return false if timeout. Add two new qWaitForWindowActive() and qWaitForWindowExposed() functions. Change-Id: Idd9601805c2e84b0d36ddd5471031b627d289953 Reviewed-by: Samuel Rødal --- src/testlib/qtestcase.cpp | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'src/testlib/qtestcase.cpp') diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 001a14a121..a26fa71eb4 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -862,7 +862,7 @@ QT_BEGIN_NAMESPACE /*! \fn bool QTest::qWaitForWindowShown(QWidget *window) \since 4.6 - Waits until the \a window is shown in the screen. This is mainly useful for + Waits until the \a window is shown on the screen. This is mainly useful for asynchronous systems like X11, where a window will be mapped to screen some time after being asked to show itself on the screen. Returns true. @@ -870,6 +870,37 @@ QT_BEGIN_NAMESPACE \snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 24 */ +/*! \fn bool QTest::qWaitForWindowShown(QWindow *window, int timeout) + \since 5.0 + + Waits for \a timeout milliseconds or until the \a window is shown on the screen. + This is mainly useful for asynchronous systems like X11, where a window will be mapped to screen some + time after being asked to show itself on the screen. + + Returns true if \c window is show in \a timout milliseconds, otherwise returns false. + + \sa QTest::qWaitForWindowActive(), QTest::qWaitForWindowExposed() +*/ + +/*! \fn bool QTest::qWaitForWindowActive(QWindow *window, int timeout) + \since 5.0 + + Waits for \a timeout milliseconds or until the \a window is active. + + Returns true if \c window is active in \a timout milliseconds, otherwise returns false. + + \sa QTest::qWaitForWindowActive(), QTest::qWaitForWindowShown(), QWindow::isActive() +*/ + +/*! \fn bool QTest::qWaitForWindowExposed(QWindow *window, int timeout) + \since 5.0 + + Waits for \a timeout milliseconds or until the \a window is exposed. + Returns true if \c window is exposed in \a timout milliseconds, otherwise returns false. + + \sa QTest::qWaitForWindowShown(), QTest::qWaitForWindowExposed(), QWindow::isExposed() +*/ + /*! \class QTest::QTouchEventSequence \inmodule QtTest -- cgit v1.2.3