diff --git a/src/wayland_server.cpp b/src/wayland_server.cpp index 5fed0ca37e..8f4b592a43 100644 --- a/src/wayland_server.cpp +++ b/src/wayland_server.cpp @@ -240,6 +240,10 @@ void WaylandServer::terminateClientConnections() void WaylandServer::registerShellClient(AbstractClient *client) { + if (client->isLockScreen()) { + ScreenLocker::KSldApp::self()->lockScreenShown(); + } + if (client->readyForPainting()) { emit shellClientAdded(client); } else { @@ -254,10 +258,6 @@ void WaylandServer::registerXdgToplevelClient(XdgToplevelClient *client) SurfaceInterface *surface = client->surface(); - if (surface->client() == m_screenLockerClientConnection) { - ScreenLocker::KSldApp::self()->lockScreenShown(); - } - registerShellClient(client); auto it = std::find_if(m_plasmaShellSurfaces.begin(), m_plasmaShellSurfaces.end(),