summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2025-06-29 14:04:29 +1000
committerMaxime Coste <mawww@kakoune.org>2025-06-29 14:04:29 +1000
commit7919240dcf4a373d3bd7a4e6d23d1815cc13dc24 (patch)
treebbd6527ee825c20f483f43d695bd1bcd5c6d93e1 /src
parent8561c2377c287a86e4603f5880606b64c3432dc1 (diff)
Fix compilation with compilers not supporting auto(x)
Diffstat (limited to 'src')
-rw-r--r--src/client_manager.cc2
-rw-r--r--src/utils.hh3
2 files changed, 4 insertions, 1 deletions
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<UserInterface>&& 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
@@ -73,6 +73,9 @@ public:
{ 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(); }
private: