diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-01-21 12:00:40 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-01-21 12:00:40 +1100 |
| commit | 299e22ca7c3a976c7f2edf99f4ff248f6e4c9f85 (patch) | |
| tree | 9ab91ac81211ed0fe4a4203cf561411e3e834627 /src/main.cc | |
| parent | 43f50c0852a6f95abbcdf81f9d3bab9eeefbde0d (diff) | |
Do not block when waiting for next event if we have pending input
Handle next event should never block if we have already accumulated
input that we want to process. As we can accumulate new input in
lots of places (everytime we run a shell process for example, we
might end up reading input keys. That can be triggered during the
mode line generation which takes place during display of the window)
Fixes #1804
Diffstat (limited to 'src/main.cc')
| -rw-r--r-- | src/main.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main.cc b/src/main.cc index ad5646f8..e98a09b4 100644 --- a/src/main.cc +++ b/src/main.cc @@ -683,7 +683,8 @@ int run_server(StringView session, StringView server_init, (flags & ServerFlags::Daemon))) { client_manager.redraw_clients(); - event_manager.handle_next_events(EventMode::Normal); + event_manager.handle_next_events(EventMode::Normal, nullptr, + not client_manager.has_pending_inputs()); client_manager.process_pending_inputs(); client_manager.clear_client_trash(); client_manager.clear_window_trash(); |
