Stabilize test by not activating window
Window activation is not working reliably on X11 when combined with X11BypassWindowManagerHint, see QXcbWindow::requestActivateWindow(). The test itself counts repaints, so qWaitForWindowExposed() shouldn't be needed. This way we don't need to QSKIP() the test if window activation fails. Fixes: QTBUG-98921 Change-Id: I849b7261c757fb7cbcde73f11bbe1a74a862cb9c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
74f3bc263a
commit
7524a36a26
@ -6,6 +6,3 @@ b2qt
|
|||||||
[updateFocusChainWhenChildDie]
|
[updateFocusChainWhenChildDie]
|
||||||
b2qt
|
b2qt
|
||||||
qnx
|
qnx
|
||||||
[initialShow]
|
|
||||||
macos ci
|
|
||||||
opensuse-leap
|
|
||||||
|
@ -3098,9 +3098,7 @@ void tst_QGraphicsWidget::initialShow()
|
|||||||
dummyView->setWindowFlags(Qt::X11BypassWindowManagerHint);
|
dummyView->setWindowFlags(Qt::X11BypassWindowManagerHint);
|
||||||
EventSpy paintSpy(dummyView->viewport(), QEvent::Paint);
|
EventSpy paintSpy(dummyView->viewport(), QEvent::Paint);
|
||||||
dummyView->show();
|
dummyView->show();
|
||||||
qApp->setActiveWindow(dummyView.data());
|
QVERIFY(QTest::qWaitForWindowExposed(dummyView.data()));
|
||||||
if (!QTest::qWaitForWindowActive(dummyView.data()))
|
|
||||||
QSKIP("Graphics view failed to show (possibly due to Qt::X11BypassWindowManagerHint");
|
|
||||||
const int expectedRepaintCount = paintSpy.count();
|
const int expectedRepaintCount = paintSpy.count();
|
||||||
dummyView.reset();
|
dummyView.reset();
|
||||||
|
|
||||||
@ -3113,8 +3111,7 @@ void tst_QGraphicsWidget::initialShow()
|
|||||||
QGraphicsView view(&scene);
|
QGraphicsView view(&scene);
|
||||||
view.setWindowFlags(view.windowFlags()|Qt::X11BypassWindowManagerHint);
|
view.setWindowFlags(view.windowFlags()|Qt::X11BypassWindowManagerHint);
|
||||||
view.show();
|
view.show();
|
||||||
qApp->setActiveWindow(&view);
|
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
|
||||||
|
|
||||||
QTRY_COMPARE(widget->repaints, expectedRepaintCount);
|
QTRY_COMPARE(widget->repaints, expectedRepaintCount);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user