From 04e8d72a642bac5708343f3519dbf3d69507118c Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Fri, 15 May 2015 16:12:18 +0300 Subject: xcb: Add support for Qt::WA_ShowWithoutActivating Also re-enable and update the tst_showWithoutActivating test. Change-Id: Ic7fa9b1bf7637e4661c593aaeabb3220cd4204ff Task-number: QTBUG-46098 Reviewed-by: Lars Knoll --- .../kernel/qwidget_window/tst_qwidget_window.cpp | 46 +++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'tests/auto') diff --git a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp index 4bdb299213..5188dfbcfa 100644 --- a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp +++ b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp @@ -338,30 +338,30 @@ void tst_QWidget_window::tst_windowFilePath() void tst_QWidget_window::tst_showWithoutActivating() { -#ifndef Q_DEAD_CODE_FROM_QT4_X11 - QSKIP("This test is X11-only."); -#else - QWidget w; - w.show(); - QVERIFY(QTest::qWaitForWindowExposed(&w)); - QApplication::processEvents(); + QString platformName = QGuiApplication::platformName().toLower(); + if (platformName == "cocoa") + QSKIP("Cocoa: This fails. Figure out why."); + else if (platformName != QStringLiteral("xcb") + && platformName != QStringLiteral("windows") + && platformName != QStringLiteral("ios")) + QSKIP("Qt::WA_ShowWithoutActivating is currently supported only on xcb, windows, and ios platforms."); + + QWidget w1; + w1.setAttribute(Qt::WA_ShowWithoutActivating); + w1.show(); + QVERIFY(!QTest::qWaitForWindowActive(&w1)); + + QWidget w2; + w2.show(); + QVERIFY(QTest::qWaitForWindowActive(&w2)); + + QWidget w3; + w3.setAttribute(Qt::WA_ShowWithoutActivating); + w3.show(); + QVERIFY(!QTest::qWaitForWindowActive(&w3)); - QApplication::clipboard(); - QLineEdit *lineEdit = new QLineEdit; - lineEdit->setAttribute(Qt::WA_ShowWithoutActivating, true); - lineEdit->show(); - lineEdit->setAttribute(Qt::WA_ShowWithoutActivating, false); - lineEdit->raise(); - lineEdit->activateWindow(); - - Window window; - int revertto; - QTRY_COMPARE(lineEdit->winId(), - (XGetInputFocus(QX11Info::display(), &window, &revertto), window) ); - // Note the use of the , before window because we want the XGetInputFocus to be re-executed - // in each iteration of the inside loop of the QTRY_COMPARE macro - -#endif // Q_DEAD_CODE_FROM_QT4_X11 + w3.activateWindow(); + QVERIFY(QTest::qWaitForWindowActive(&w3)); } void tst_QWidget_window::tst_paintEventOnSecondShow() -- cgit v1.2.3