From c9d26aa99c8f2279b54e6bb7ea68f30608e7e02a Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Fri, 28 Jan 2011 09:19:58 +0100 Subject: Cocoa: fix qgraphicsview autotest Moving the cursor to the corner of the desktop (0, 0) will typically trigger things to happend in the OS, at least on Mac (spaces, synergy etc). So I changed those tests to move it to (1, 1) instead. The reason to move it to (0, 0) was just to get the mouse away from the window anyway. And second, it takes some time after using QCursor::setPos on Mac before the events from the move actually arrive. And many tests that use this function relies on this. So I introduces a little delay. This alone will fix a couble of tests. --- src/testlib/qtestmouse.h | 4 ++++ tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/testlib/qtestmouse.h b/src/testlib/qtestmouse.h index 35752b0..5abb019 100644 --- a/src/testlib/qtestmouse.h +++ b/src/testlib/qtestmouse.h @@ -107,7 +107,11 @@ namespace QTest break; case MouseMove: QCursor::setPos(widget->mapToGlobal(pos)); +#ifdef QT_MAC_USE_COCOA + QTest::qWait(20); +#else qApp->processEvents(); +#endif return; default: QTEST_ASSERT(false); diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index aaff51e..f8fc5d0 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -2967,7 +2967,7 @@ protected: void tst_QGraphicsView::task186827_deleteReplayedItem() { // make sure the mouse is not over the window, causing spontaneous mouse moves - QCursor::setPos(0, 0); + QCursor::setPos(1, 1); QGraphicsScene scene; scene.addRect(0, 0, 50, 50); @@ -4504,7 +4504,7 @@ void tst_QGraphicsView::hoverLeave() QVERIFY(item->receivedEnterEvent); QCOMPARE(item->enterWidget, view.viewport()); - QCursor::setPos(0,0); + QCursor::setPos(1,1); QTest::qWait(200); QVERIFY(item->receivedLeaveEvent); QCOMPARE(item->leaveWidget, view.viewport()); -- cgit v0.12