From ac73f7c27fc0eafc854ac1a3a17a231dee68eb52 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Sat, 13 Apr 2019 15:40:43 +1000 Subject: [PATCH] Run ClientClose hook before exiting the client itself Closes #2849 --- src/client_manager.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/client_manager.cc b/src/client_manager.cc index ca32678f..a3426a04 100644 --- a/src/client_manager.cc +++ b/src/client_manager.cc @@ -123,13 +123,14 @@ void ClientManager::remove_client(Client& client, bool graceful, int status) return; } - client.exit(status); m_client_trash.push_back(std::move(*it)); m_clients.erase(it); auto& context = client.context(); context.hooks().run_hook(Hook::ClientClose, context.name(), context); + client.exit(status); + if (not graceful and m_clients.empty()) BufferManager::instance().backup_modified_buffers(); }