summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 7c8b1ef8..3fa1448b 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -250,6 +250,8 @@ void CCompositor::cleanup() {
m_vWorkspaces.clear();
m_vWindows.clear();
+ m_bIsShuttingDown = true;
+
for (auto& m : m_vMonitors) {
g_pHyprOpenGL->destroyMonitorResources(m.get());
@@ -257,6 +259,8 @@ void CCompositor::cleanup() {
wlr_output_commit(m->output);
}
+ m_vMonitors.clear();
+
if (g_pXWaylandManager->m_sWLRXWayland) {
wlr_xwayland_destroy(g_pXWaylandManager->m_sWLRXWayland);
g_pXWaylandManager->m_sWLRXWayland = nullptr;
@@ -264,8 +268,6 @@ void CCompositor::cleanup() {
wl_display_terminate(m_sWLDisplay);
- m_bIsShuttingDown = true;
-
g_pKeybindManager->spawn("sleep 5 && kill -9 " + std::to_string(m_iHyprlandPID)); // this is to prevent that random "freezing"
// the PID should not be reused.
}