summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
authordmayle <douglas@mayle.org>2024-03-24 18:46:59 -0700
committerGitHub <noreply@github.com>2024-03-25 01:46:59 +0000
commit6b28bf563e3b4e5f6631985f24c88e8a8ebaa0d4 (patch)
tree5f17c7fd233e2a3734727d724ce354e99d08cd93 /src/events/Monitors.cpp
parent8001b96bb5f801ea665fd482ba421e8703d986e7 (diff)
keybinds: Fix exit trigger by moving it to monitor.frame (#5240)
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) {