diff options
| author | Maxime Coste <mawww@kakoune.org> | 2019-04-13 15:40:43 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2019-04-13 15:40:43 +1000 |
| commit | ac73f7c27fc0eafc854ac1a3a17a231dee68eb52 (patch) | |
| tree | 0af5002cf5c2e6d11d7bba5ad2c0f941138c3ffc /src | |
| parent | 91337d60914e1429e6155fa3269eca023c3848c3 (diff) | |
Run ClientClose hook before exiting the client itself
Closes #2849
Diffstat (limited to 'src')
| -rw-r--r-- | src/client_manager.cc | 3 |
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(); } |
