aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/xwayland/XWM.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xwayland/XWM.cpp')
-rw-r--r--src/xwayland/XWM.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/xwayland/XWM.cpp b/src/xwayland/XWM.cpp
index 248813bf..87fc34e4 100644
--- a/src/xwayland/XWM.cpp
+++ b/src/xwayland/XWM.cpp
@@ -13,6 +13,7 @@
#include "../defines.hpp"
#include "../Compositor.hpp"
#include "../protocols/core/Seat.hpp"
+#include "../managers/eventLoop/EventLoopManager.hpp"
#include "../managers/SeatManager.hpp"
#include "../protocols/XWaylandShell.hpp"
#include "../protocols/core/Compositor.hpp"
@@ -691,6 +692,8 @@ int CXWM::onEvent(int fd, uint32_t mask) {
Debug::log(CRIT, "XWayland has yeeten the xwm off?!");
g_pXWayland->pWM.reset();
g_pXWayland->pServer.reset();
+ // Attempt to create fresh instance
+ g_pEventLoopManager->doLater([]() { g_pXWayland = std::make_unique<CXWayland>(true); });
return 0;
}