summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-01-22 12:19:23 +0000
committerMaxime Coste <mawww@kakoune.org>2017-01-22 12:19:23 +0000
commit66e422e3971acd8b36b23e52ac3def70534294fb (patch)
tree5e5a5e8df504bcb3bbfce0cf09fff9eb60e7fa74 /src
parent79dd483b7cd2e12ca8c66173b84b9b2783859ed0 (diff)
Fix client destruction when there is an InsertMode mode still alive
Diffstat (limited to 'src')
-rw-r--r--src/client.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client.cc b/src/client.cc
index 07812222..4d0547ec 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -55,8 +55,10 @@ Client::~Client()
{
m_window->options().unregister_watcher(*this);
m_window->set_client(nullptr);
+ // Do not move the selections here, as we need them to be valid
+ // in order to correctly destroy the input handler
ClientManager::instance().add_free_window(std::move(m_window),
- std::move(context().selections()));
+ context().selections());
}
bool Client::process_pending_inputs()