aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.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/ui.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/ui.c')
-rw-r--r--src/nvim/ui.c12
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)