aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/state.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-09-06 20:10:56 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2019-09-08 15:24:14 +0200
commite6b7613e89cc274198eec014180da6034442b3b6 (patch)
treee7deeaeb8f9b0da7b60f3efe06cde3434650d7d1 /src/nvim/state.c
parentfa90f6cdaae800d9bfbc4f28ec04fb7456751dbe (diff)
downloadrneovim-e6b7613e89cc274198eec014180da6034442b3b6.tar.gz
rneovim-e6b7613e89cc274198eec014180da6034442b3b6.tar.bz2
rneovim-e6b7613e89cc274198eec014180da6034442b3b6.zip
refactor: allow us to process a child queue only while waiting on input
Diffstat (limited to 'src/nvim/state.c')
-rw-r--r--src/nvim/state.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c
index dbf04eebec..81bc078a88 100644
--- a/src/nvim/state.c
+++ b/src/nvim/state.c
@@ -46,14 +46,12 @@ getkey:
// Event was made available after the last multiqueue_process_events call
key = K_EVENT;
} else {
- input_enable_events();
// Flush screen updates before blocking
ui_flush();
// Call `os_inchar` directly to block for events or user input without
// consuming anything from `input_buffer`(os/input.c) or calling the
// mapping engine.
- (void)os_inchar(NULL, 0, -1, 0);
- input_disable_events();
+ (void)os_inchar(NULL, 0, -1, 0, main_loop.events);
// If an event was put into the queue, we send K_EVENT directly.
key = !multiqueue_empty(main_loop.events)
? K_EVENT