From e6b7613e89cc274198eec014180da6034442b3b6 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Fri, 6 Sep 2019 20:10:56 +0200 Subject: refactor: allow us to process a child queue only while waiting on input --- src/nvim/ui.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/nvim/ui.c') 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) -- cgit