diff options
| author | Maxime Coste <mawww@kakoune.org> | 2019-04-08 22:32:30 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2019-04-08 22:32:30 +1000 |
| commit | f732ea4efb13ced7055a7cc82d30c6cff0a558d3 (patch) | |
| tree | a366e80f348490928ef255bfab9eb82049413074 /src/client_manager.cc | |
| parent | 69663bdc812cd91d4a7cfe7d8b88b55a0b6d90b1 (diff) | |
Refactor ClientManager::clear
Diffstat (limited to 'src/client_manager.cc')
| -rw-r--r-- | src/client_manager.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/client_manager.cc b/src/client_manager.cc index 9ca5f555..9dd32df5 100644 --- a/src/client_manager.cc +++ b/src/client_manager.cc @@ -19,11 +19,10 @@ ClientManager::~ClientManager() void ClientManager::clear() { - // So that clients destructor find the client manager empty - // so that local UI does not fork. - ClientList clients = std::move(m_clients); - clients.clear(); + while (not m_clients.empty()) + remove_client(*m_clients.front(), true, 0); m_client_trash.clear(); + for (auto& window : m_free_windows) window.window->run_hook_in_own_context(Hook::WinClose, window.window->buffer().name()); |
