aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/xwayland
diff options
context:
space:
mode:
Diffstat (limited to 'src/xwayland')
-rw-r--r--src/xwayland/Server.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/xwayland/Server.cpp b/src/xwayland/Server.cpp
index f356af18..390ce1f6 100644
--- a/src/xwayland/Server.cpp
+++ b/src/xwayland/Server.cpp
@@ -176,11 +176,6 @@ static bool openSockets(std::array<int, 2>& sockets, int display) {
return true;
}
-static void startServer(void* data) {
- if (!g_pXWayland->pServer->start())
- Debug::log(ERR, "The XWayland server could not start! XWayland will not work...");
-}
-
static int xwaylandReady(int fd, uint32_t mask, void* data) {
return g_pXWayland->pServer->ready(fd, mask);
}
@@ -308,9 +303,10 @@ bool CXWaylandServer::create() {
setenv("DISPLAY", displayName.c_str(), true);
- // TODO: lazy mode
-
- idleSource = wl_event_loop_add_idle(g_pCompositor->m_sWLEventLoop, ::startServer, nullptr);
+ g_pEventLoopManager->doLater([this]() {
+ if (!start())
+ Debug::log(ERR, "The XWayland server could not start! XWayland will not work...");
+ });
return true;
}