diff --git a/tests/auto/quick/qquickmousearea/BLACKLIST b/tests/auto/quick/qquickmousearea/BLACKLIST index 68c4702413..ba5aeb5851 100644 --- a/tests/auto/quick/qquickmousearea/BLACKLIST +++ b/tests/auto/quick/qquickmousearea/BLACKLIST @@ -2,10 +2,6 @@ [pressAndHold] macos ci -# QTBUG-78153 -[nestedStopAtBounds] -opensuse-leap - # QTBUG-82282 [pressOneAndTapAnother] opensuse-leap diff --git a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp index 755dad6312..6d46f90526 100644 --- a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp +++ b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp @@ -1857,7 +1857,12 @@ void tst_QQuickMouseArea::nestedStopAtBounds() QTest::mouseMove(&window, position); axis += invert ? threshold : -threshold; QTest::mouseMove(&window, position); - QTRY_COMPARE(outer->drag()->active(), true); + + // outer drag will not receive mouse event, when the focus has been stolen. + // => try to regain and time out if it fails. + while (!QTest::qWaitFor([&outer]() { return outer->drag()->active(); })) + window.raise(); + QCOMPARE(inner->drag()->active(), false); QTest::mouseRelease(&window, Qt::LeftButton, Qt::NoModifier, position);