summaryrefslogtreecommitdiff
path: root/src/client_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/client_manager.cc')
-rw-r--r--src/client_manager.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/client_manager.cc b/src/client_manager.cc
index 9dd32df5..ca32678f 100644
--- a/src/client_manager.cc
+++ b/src/client_manager.cc
@@ -14,13 +14,18 @@ namespace Kakoune
ClientManager::ClientManager() = default;
ClientManager::~ClientManager()
{
- clear();
+ clear(true);
}
-void ClientManager::clear()
+void ClientManager::clear(bool disconnect_clients)
{
- while (not m_clients.empty())
- remove_client(*m_clients.front(), true, 0);
+ if (disconnect_clients)
+ {
+ while (not m_clients.empty())
+ remove_client(*m_clients.front(), true, 0);
+ }
+ else
+ m_clients.clear();
m_client_trash.clear();
for (auto& window : m_free_windows)