aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/tui')
-rw-r--r--src/nvim/tui/term_input.inl12
-rw-r--r--src/nvim/tui/tui.c15
2 files changed, 8 insertions, 19 deletions
diff --git a/src/nvim/tui/term_input.inl b/src/nvim/tui/term_input.inl
index 0a84a3688b..c396557160 100644
--- a/src/nvim/tui/term_input.inl
+++ b/src/nvim/tui/term_input.inl
@@ -206,9 +206,10 @@ static bool handle_forced_escape(TermInput *input)
return false;
}
-static void restart_reading(Event event);
+static void restart_reading(void **argv);
-static void read_cb(Stream *stream, RBuffer *buf, void *data, bool eof)
+static void read_cb(Stream *stream, RBuffer *buf, size_t c, void *data,
+ bool eof)
{
TermInput *input = data;
@@ -226,8 +227,7 @@ static void read_cb(Stream *stream, RBuffer *buf, void *data, bool eof)
// ls *.md | xargs nvim
input->in_fd = 2;
stream_close(&input->read_stream, NULL);
- loop_push_event(&loop,
- (Event) { .data = input, .handler = restart_reading }, false);
+ queue_put(loop.fast_events, restart_reading, 1, input);
} else {
input_done();
}
@@ -272,9 +272,9 @@ static void read_cb(Stream *stream, RBuffer *buf, void *data, bool eof)
rbuffer_reset(input->read_stream.buffer);
}
-static void restart_reading(Event event)
+static void restart_reading(void **argv)
{
- TermInput *input = event.data;
+ TermInput *input = argv[0];
rstream_init_fd(&loop, &input->read_stream, input->in_fd, 0xfff, input);
rstream_start(&input->read_stream, read_cb);
}
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
index 28870b5abb..460fdb81a8 100644
--- a/src/nvim/tui/tui.c
+++ b/src/nvim/tui/tui.c
@@ -205,24 +205,13 @@ static void tui_stop(UI *ui)
xfree(ui);
}
-static void try_resize(Event ev)
+static void sigwinch_cb(SignalWatcher *watcher, int signum, void *data)
{
- UI *ui = ev.data;
+ UI *ui = data;
update_size(ui);
ui_refresh();
}
-static void sigwinch_cb(SignalWatcher *watcher, int signum, void *data)
-{
- got_winch = true;
- // Queue the event because resizing can result in recursive event_poll calls
- // FIXME(blueyed): TUI does not resize properly when not deferred. Why? #2322
- loop_push_event(&loop, (Event) {
- .data = data,
- .handler = try_resize
- }, true);
-}
-
static bool attrs_differ(HlAttrs a1, HlAttrs a2)
{
return a1.foreground != a2.foreground || a1.background != a2.background