diff options
| author | Maxime Coste <mawww@kakoune.org> | 2021-03-11 09:08:35 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2021-03-11 09:08:35 +1100 |
| commit | d5282735f2908ec8a15468fc915f7b3b4e2571ee (patch) | |
| tree | df81022634d175d9b2497a5768d802de5fa55e9b /src/client_manager.cc | |
| parent | 4a59018dcd766b1499d53e82ba938ce39013f7af (diff) | |
Always redraw after getting some user input
Diffstat (limited to 'src/client_manager.cc')
| -rw-r--r-- | src/client_manager.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client_manager.cc b/src/client_manager.cc index f46d16ea..7c03dabc 100644 --- a/src/client_manager.cc +++ b/src/client_manager.cc @@ -84,8 +84,9 @@ Client* ClientManager::create_client(std::unique_ptr<UserInterface>&& ui, int pi return contains(m_clients, client) ? client : nullptr; } -void ClientManager::process_pending_inputs() +bool ClientManager::process_pending_inputs() { + bool processed_some_input = false; while (true) { bool had_input = false; @@ -101,12 +102,14 @@ void ClientManager::process_pending_inputs() continue; } had_input = m_clients[i]->process_pending_inputs() or had_input; + processed_some_input |= had_input; ++i; } if (not had_input) break; } + return processed_some_input; } bool ClientManager::has_pending_inputs() const |
