From 7919240dcf4a373d3bd7a4e6d23d1815cc13dc24 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Sun, 29 Jun 2025 14:04:29 +1000 Subject: Fix compilation with compilers not supporting auto(x) --- src/client_manager.cc | 2 +- src/utils.hh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client_manager.cc b/src/client_manager.cc index 6798864e..8d4f2de0 100644 --- a/src/client_manager.cc +++ b/src/client_manager.cc @@ -77,7 +77,7 @@ Client* ClientManager::create_client(std::unique_ptr&& ui, int pi context.window().center_line(init_coord->line); } - auto(std::move(unlock)); // unlock now + unlock.trigger(); try { diff --git a/src/utils.hh b/src/utils.hh index 4b84ce75..b517735f 100644 --- a/src/utils.hh +++ b/src/utils.hh @@ -72,6 +72,9 @@ public: : m_valid{other.m_valid}, m_func{std::move(other.m_func)} { other.m_valid = false; } + [[gnu::always_inline]] + void trigger() { if (m_valid) m_func(); m_valid = false; } + [[gnu::always_inline]] ~OnScopeEnd() noexcept(noexcept(m_func())) { if (m_valid) m_func(); } -- cgit v1.2.3