diff --git a/autotests/integration/shell_client_test.cpp b/autotests/integration/shell_client_test.cpp index 393c0c57c0..1a3d6a693a 100644 --- a/autotests/integration/shell_client_test.cpp +++ b/autotests/integration/shell_client_test.cpp @@ -261,9 +261,7 @@ void TestShellClient::testMinimizeActiveWindow() QCOMPARE(workspace()->activeClient(), c); workspace()->slotWindowMinimize(); - QEXPECT_FAIL("", "BUG 366634", Continue); QVERIFY(!c->isActive()); - QEXPECT_FAIL("", "BUG 366634", Continue); QVERIFY(!workspace()->activeClient()); } diff --git a/shell_client.cpp b/shell_client.cpp index ac9dfdd8ec..79ed8b265f 100644 --- a/shell_client.cpp +++ b/shell_client.cpp @@ -646,7 +646,7 @@ bool ShellClient::isResizable() const bool ShellClient::isShown(bool shaded_is_shown) const { Q_UNUSED(shaded_is_shown) - return !m_closing && !m_unmapped; + return !m_closing && !m_unmapped && !isMinimized(); } void ShellClient::hideClient(bool hide) @@ -1228,4 +1228,9 @@ KWayland::Server::XdgShellSurfaceInterface::States ShellClient::xdgSurfaceStates return states; } +void ShellClient::doMinimize() +{ + workspace()->clientHidden(this); +} + } diff --git a/shell_client.h b/shell_client.h index cabda7c2f2..4ca3a90ec4 100644 --- a/shell_client.h +++ b/shell_client.h @@ -137,6 +137,7 @@ protected: void doResizeSync() override; bool isWaitingForMoveResizeSync() const override; bool acceptsFocus() const override; + void doMinimize() override; private Q_SLOTS: void clientFullScreenChanged(bool fullScreen);