summaryrefslogtreecommitdiff
path: root/src/client_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-09-04 17:54:07 +0100
committerMaxime Coste <frrrwww@gmail.com>2016-09-04 17:56:07 +0100
commit4fc20b8d7d1dfc2f9973a7c12572a5b021c88f07 (patch)
tree26ef30faa9e28f8ff8aa8c2d49960c08597abbf3 /src/client_manager.hh
parent563497ade7ee89af625c3c897d792fe9b71e0992 (diff)
Rework client quitting and handling of remote errors
Client quitting no longer immediately unwinds, client is just pushed for deletion until we get back to the main loop, similarly to what happens for buffer and window deletion.
Diffstat (limited to 'src/client_manager.hh')
-rw-r--r--src/client_manager.hh9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/client_manager.hh b/src/client_manager.hh
index 7f2b603c..b7a085a2 100644
--- a/src/client_manager.hh
+++ b/src/client_manager.hh
@@ -7,13 +7,6 @@
namespace Kakoune
{
-struct client_removed
-{
- client_removed(bool graceful) : graceful{graceful} {}
-
- const bool graceful;
-};
-
struct WindowAndSelections
{
std::unique_ptr<Window> window;
@@ -58,10 +51,12 @@ public:
ByteCount cursor_pos = -1) const;
void clear_window_trash();
+ void clear_client_trash();
private:
String generate_name() const;
ClientList m_clients;
+ ClientList m_client_trash;
Vector<WindowAndSelections, MemoryDomain::Client> m_free_windows;
Vector<std::unique_ptr<Window>> m_window_trash;
};