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

Fix updating layer when setting a ShellClient to fullscreen

Summary:
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: https://phabricator.kde.org/D2758
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