diff --git a/tests/fuzzer/Operations.cpp b/tests/fuzzer/Operations.cpp index 50573e0b..a4ddaf51 100644 --- a/tests/fuzzer/Operations.cpp +++ b/tests/fuzzer/Operations.cpp @@ -78,11 +78,13 @@ CloseViaDockWidgetAPI::CloseViaDockWidgetAPI(Fuzzer *fuzzer) void CloseViaDockWidgetAPI::execute_impl() { if (DockWidgetBase *dw = m_fuzzer->getRandomDockWidget()) { - m_dockWidgetName = dw->uniqueName(); - auto fw = qobject_cast(dw->window()); - dw->close(); - if (fw && fw->beingDeleted()) - Testing::waitForDeleted(fw); + if (dw->isVisible()) { + m_dockWidgetName = dw->uniqueName(); + auto fw = qobject_cast(dw->window()); + dw->close(); + if (fw && fw->beingDeleted()) + Testing::waitForDeleted(fw); + } } } @@ -102,11 +104,13 @@ HideViaDockWidgetAPI::HideViaDockWidgetAPI(Fuzzer *fuzzer) void HideViaDockWidgetAPI::execute_impl() { if (DockWidgetBase *dw = m_fuzzer->getRandomDockWidget()) { - m_dockWidgetName = dw->uniqueName(); - auto fw = qobject_cast(dw->window()); - dw->hide(); - if (fw && fw->beingDeleted()) - Testing::waitForDeleted(fw); + if (dw->isVisible()) { + m_dockWidgetName = dw->uniqueName(); + auto fw = qobject_cast(dw->window()); + dw->hide(); + if (fw && fw->beingDeleted()) + Testing::waitForDeleted(fw); + } } } @@ -126,8 +130,10 @@ ShowViaDockWidgetAPI::ShowViaDockWidgetAPI(Fuzzer *fuzzer) void ShowViaDockWidgetAPI::execute_impl() { if (DockWidgetBase *dw = m_fuzzer->getRandomDockWidget()) { - m_dockWidgetName = dw->uniqueName(); - dw->show(); + if (!dw->isVisible()) { + m_dockWidgetName = dw->uniqueName(); + dw->show(); + } } }