diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-09-06 20:10:56 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-09-08 15:24:14 +0200 |
commit | e6b7613e89cc274198eec014180da6034442b3b6 (patch) | |
tree | e7deeaeb8f9b0da7b60f3efe06cde3434650d7d1 /src/nvim/ui.c | |
parent | fa90f6cdaae800d9bfbc4f28ec04fb7456751dbe (diff) | |
download | rneovim-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/ui.c')
-rw-r--r-- | src/nvim/ui.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 94fae0a774..d8c9a3e780 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -174,7 +174,7 @@ void ui_refresh(void) } if (updating_screen) { - ui_schedule_refresh(); + deferred_refresh_event(NULL); return; } @@ -228,11 +228,11 @@ static void ui_refresh_event(void **argv) void ui_schedule_refresh(void) { - // TODO(bfredl): "fast" is not optimal. UI should be refreshed only at - // deferred processing plus a few more blocked-on-input situtions like - // wait_return(), but not any os_breakcheck(). Alternatively make this - // defered and make wait_return() process deferred events already. - loop_schedule_fast(&main_loop, event_create(ui_refresh_event, 0)); + loop_schedule_fast(&main_loop, event_create(deferred_refresh_event, 0)); +} +static void deferred_refresh_event(void **argv) +{ + multiqueue_put(resize_events, ui_refresh_event, 0); } void ui_default_colors_set(void) |