diff --git a/autotests/wayland/kwin_wayland_test.cpp b/autotests/wayland/kwin_wayland_test.cpp --- a/autotests/wayland/kwin_wayland_test.cpp +++ b/autotests/wayland/kwin_wayland_test.cpp @@ -110,7 +110,6 @@ { disconnect(kwinApp()->platform(), &Platform::screensQueried, this, &WaylandTestApplication::continueStartupWithScreens); createScreens(); - waylandServer()->initOutputs(); createCompositor(); connect(Compositor::self(), &Compositor::sceneCreated, this, &WaylandTestApplication::startXwaylandServer); diff --git a/main_wayland.cpp b/main_wayland.cpp --- a/main_wayland.cpp +++ b/main_wayland.cpp @@ -145,7 +145,6 @@ { disconnect(kwinApp()->platform(), &Platform::screensQueried, this, &ApplicationWayland::continueStartupWithScreens); createScreens(); - waylandServer()->initOutputs(); if (!m_startXWayland) { continueStartupWithX(); diff --git a/wayland_server.h b/wayland_server.h --- a/wayland_server.h +++ b/wayland_server.h @@ -74,7 +74,6 @@ virtual ~WaylandServer(); void init(const QByteArray &socketName = QByteArray(), InitalizationFlags flags = InitalizationFlag::NoOptions); - void initOutputs(); void terminateClientConnections(); KWayland::Server::Display *display() { @@ -160,6 +159,7 @@ void terminatingInternalClientConnection(); private: + void initOutputs(); quint16 createClientId(KWayland::Server::ClientConnection *c); void destroyInternalConnection(); void configurationChangeRequested(KWayland::Server::OutputConfigurationInterface *config); diff --git a/wayland_server.cpp b/wayland_server.cpp --- a/wayland_server.cpp +++ b/wayland_server.cpp @@ -73,6 +73,8 @@ { qRegisterMetaType("KWayland::Server::SurfaceInterface *"); qRegisterMetaType(); + + connect(kwinApp(), &Application::screensCreated, this, &WaylandServer::initOutputs); } WaylandServer::~WaylandServer()