From d5282735f2908ec8a15468fc915f7b3b4e2571ee Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Thu, 11 Mar 2021 09:08:35 +1100 Subject: Always redraw after getting some user input --- src/client_manager.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/client_manager.cc') 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&& 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 -- cgit v1.2.3