diff --git a/shell_client.cpp b/shell_client.cpp --- a/shell_client.cpp +++ b/shell_client.cpp @@ -363,10 +363,6 @@ } }); setTransient(); - // check whether we have a ServerSideDecoration - if (ServerSideDecorationInterface *deco = ServerSideDecorationInterface::get(s)) { - installServerSideDecoration(deco); - } AbstractClient::updateColorScheme(QString()); diff --git a/wayland_server.cpp b/wayland_server.cpp --- a/wayland_server.cpp +++ b/wayland_server.cpp @@ -151,6 +151,9 @@ ScreenLocker::KSldApp::self()->lockScreenShown(); } auto client = new ShellClient(surface); + if (ServerSideDecorationInterface *deco = ServerSideDecorationInterface::get(surface->surface())) { + client->installServerSideDecoration(deco); + } auto it = std::find_if(m_plasmaShellSurfaces.begin(), m_plasmaShellSurfaces.end(), [client] (PlasmaShellSurfaceInterface *surface) { return client->surface() == surface->surface();