summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r--src/events/Monitors.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index e235096b..a6fd5a4a 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -117,6 +117,13 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
}
void Events::listener_monitorFrame(void* owner, void* data) {
+ if (g_pCompositor->m_bExitTriggered) {
+ // Only signal cleanup once
+ g_pCompositor->m_bExitTriggered = false;
+ g_pCompositor->cleanup();
+ return;
+ }
+
CMonitor* const PMONITOR = (CMonitor*)owner;
if ((g_pCompositor->m_sWLRSession && !g_pCompositor->m_sWLRSession->active) || !g_pCompositor->m_bSessionActive || g_pCompositor->m_bUnsafeState) {