From a41593c3956f2adeeaf6060ba8beb9082477a313 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 8 Jun 2016 13:02:12 +0200 Subject: [PATCH] QmlProfiler: Run flamegraph view context menu test on a timer Apparently the popup window is not automatically activated. Change-Id: I12e952568630d5ffe5d5dab9012b617a28ef9285 Reviewed-by: Christian Stenger Reviewed-by: Joerg Bornemann --- .../qmlprofiler/tests/flamegraphview_test.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp b/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp index 3b61f4a12fb..5e1579c5598 100644 --- a/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp +++ b/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp @@ -116,12 +116,16 @@ void FlameGraphViewTest::testContextMenu() targetHeight = (testMenu.height() + prevHeight) / 2; } - connect(view.windowHandle(), &QWindow::activeChanged, this, [&]() { - if (view.windowHandle()->isActive()) + QTimer timer; + timer.setInterval(50); + timer.start(); + + connect(&timer, &QTimer::timeout, this, [&]() { + auto activePopup = qApp->activePopupWidget(); + if (!activePopup || !activePopup->windowHandle()->isExposed()) return; - QTest::qWaitForWindowExposed(qApp->activePopupWidget()); - QTest::mouseMove(qApp->activePopupWidget(), QPoint(targetWidth, targetHeight)); - QTest::mouseClick(qApp->activePopupWidget(), Qt::LeftButton, Qt::NoModifier, + QTest::mouseMove(activePopup, QPoint(targetWidth, targetHeight)); + QTest::mouseClick(activePopup, Qt::LeftButton, Qt::NoModifier, QPoint(targetWidth, targetHeight)); if (!manager.isRestrictedToRange()) {