diff options
Diffstat (limited to 'src/events/Monitors.cpp')
| -rw-r--r-- | src/events/Monitors.cpp | 7 |
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) { |
