diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2016-05-13 20:32:53 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2016-05-14 08:17:52 +0100 |
| commit | ba421e45f7b97c5e7ba28efe4f148fb3ba87a22c (patch) | |
| tree | b3f80be6aabacc03718e7ff9b9afb8202e548309 /src/client_manager.hh | |
| parent | 7f2b3f01322617bc7f215f0487151661b2f11aa5 (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.hh | 4 |
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; }; } |
