diff --git a/src/xdgshellclient.cpp b/src/xdgshellclient.cpp index 40f3eddbf9..a17755922b 100644 --- a/src/xdgshellclient.cpp +++ b/src/xdgshellclient.cpp @@ -356,7 +356,6 @@ XdgToplevelClient::XdgToplevelClient(XdgToplevelInterface *shellSurface) : XdgSurfaceClient(shellSurface->xdgSurface()) , m_shellSurface(shellSurface) { - setupWindowManagementIntegration(); setupPlasmaShellIntegration(); setDesktops({VirtualDesktopManager::self()->currentDesktop()}); #if KWIN_BUILD_ACTIVITIES @@ -1237,6 +1236,11 @@ void XdgToplevelClient::initialize() scheduleConfigure(); updateColorScheme(); + + if (!isLockScreen()) { + setupWindowManagementInterface(); + } + m_isInitialized = true; } @@ -1514,15 +1518,6 @@ void XdgToplevelClient::updateClientArea() } } -void XdgToplevelClient::setupWindowManagementIntegration() -{ - if (isLockScreen()) { - return; - } - connect(surface(), &SurfaceInterface::mapped, - this, &XdgToplevelClient::setupWindowManagementInterface); -} - void XdgToplevelClient::setupPlasmaShellIntegration() { connect(surface(), &SurfaceInterface::mapped, diff --git a/src/xdgshellclient.h b/src/xdgshellclient.h index c619506df7..f8eab6bef2 100644 --- a/src/xdgshellclient.h +++ b/src/xdgshellclient.h @@ -192,7 +192,6 @@ private: void updateFullScreenMode(bool set); void updateShowOnScreenEdge(); void updateClientArea(); - void setupWindowManagementIntegration(); void setupPlasmaShellIntegration(); void sendPing(PingReason reason); MaximizeMode initialMaximizeMode() const;