Commit 64126a97 authored by Martin Flöser's avatar Martin Flöser

Fix updating layer when setting a ShellClient to fullscreen

The call to update the layer was performed before adjusting to
fullscreen. Thus the layer didn't get updated at all as it still
evaluated to "not fullscreen".

Reviewers: #kwin, #plasma_on_wayland, bshah

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision:
parent 0bb1f2e7
......@@ -366,7 +366,6 @@ void TestShellClient::testFullscreen()
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
......@@ -917,11 +917,12 @@ void ShellClient::requestGeometry(const QRect &rect)
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));
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment