summaryrefslogtreecommitdiff
path: root/src/client_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-05-13 20:32:53 +0100
committerMaxime Coste <frrrwww@gmail.com>2016-05-14 08:17:52 +0100
commitba421e45f7b97c5e7ba28efe4f148fb3ba87a22c (patch)
treeb3f80be6aabacc03718e7ff9b9afb8202e548309 /src/client_manager.hh
parent7f2b3f01322617bc7f215f0487151661b2f11aa5 (diff)
Delay window deletion until we get back to main loop
Avoid WinResize hooks while redrawing, ensure window resize only take place while handling user input. Fixes #672
Diffstat (limited to 'src/client_manager.hh')
-rw-r--r--src/client_manager.hh4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client_manager.hh b/src/client_manager.hh
index c6ba1c35..7f2b603c 100644
--- a/src/client_manager.hh
+++ b/src/client_manager.hh
@@ -35,7 +35,7 @@ public:
void clear();
- void ensure_no_client_uses_buffer(Buffer& buffer);
+ void ensure_no_client_uses_buffer(Buffer& buffer);
WindowAndSelections get_free_window(Buffer& buffer);
void add_free_window(std::unique_ptr<Window>&& window, SelectionList selections);
@@ -57,11 +57,13 @@ public:
CandidateList complete_client_name(StringView name,
ByteCount cursor_pos = -1) const;
+ void clear_window_trash();
private:
String generate_name() const;
ClientList m_clients;
Vector<WindowAndSelections, MemoryDomain::Client> m_free_windows;
+ Vector<std::unique_ptr<Window>> m_window_trash;
};
}