summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2019-04-13 15:40:43 +1000
committerMaxime Coste <mawww@kakoune.org>2019-04-13 15:40:43 +1000
commitac73f7c27fc0eafc854ac1a3a17a231dee68eb52 (patch)
tree0af5002cf5c2e6d11d7bba5ad2c0f941138c3ffc /src
parent91337d60914e1429e6155fa3269eca023c3848c3 (diff)
Run ClientClose hook before exiting the client itself
Closes #2849
Diffstat (limited to 'src')
-rw-r--r--src/client_manager.cc3
1 files changed, 2 insertions, 1 deletions
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();
}