Handle restart of Compositor Scene correctly for Wayland client

Summary:
This change ensures that KWin doesn't crash in the QPainter scene if
the compositor gets restarted and if there are Wayland clients.

Cherry-picked from master

BUG: 365471
FIXED-IN: 5.7.3

Test Plan:
Test case added to scene qpainter which triggers a restart
of the Compositor with a window being shown. Verifies that rendering
is correct afterwards.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2185
icc-effect-5.14.5
Martin Gräßlin 2016-07-15 16:06:09 +02:00
parent d52944c2c7
commit 0286882b3f
1 changed files with 7 additions and 0 deletions

View File

@ -322,6 +322,13 @@ void Compositor::startupWithWorkspace()
c->setupCompositing();
c->getShadow();
}
if (auto w = waylandServer()) {
const auto clients = w->clients();
for (auto c : clients) {
c->setupCompositing();
c->getShadow();
}
}
emit compositingToggled(true);