diff --git a/autotests/integration/shell_client_test.cpp b/autotests/integration/shell_client_test.cpp --- a/autotests/integration/shell_client_test.cpp +++ b/autotests/integration/shell_client_test.cpp @@ -366,7 +366,6 @@ QEXPECT_FAIL("wlShell - deco", "BUG 366764", Continue); QEXPECT_FAIL("xdgShellV5 - deco", "BUG 366764", Continue); QCOMPARE(c->geometry(), QRect(QPoint(0, 0), sizeChangeRequestedSpy.first().first().toSize())); - QEXPECT_FAIL("", "Fullscreen windows don't change layer", Continue); QCOMPARE(c->layer(), ActiveLayer); // swap back to normal diff --git a/shell_client.cpp b/shell_client.cpp --- a/shell_client.cpp +++ b/shell_client.cpp @@ -917,11 +917,12 @@ void ShellClient::clientFullScreenChanged(bool fullScreen) { StackingUpdatesBlocker blocker(workspace()); - workspace()->updateClientLayer(this); // active fullscreens get different layer const bool emitSignal = m_fullScreen != fullScreen; m_fullScreen = fullScreen; + workspace()->updateClientLayer(this); // active fullscreens get different layer + if (fullScreen) { m_geomFsRestore = geometry(); requestGeometry(workspace()->clientArea(FullScreenArea, this));