Fix handling terminal resizes while the terminal is suspended

GNU Readline has a misfeature.
This commit is contained in:
Přemysl Eric Janouch 2020-10-09 20:21:52 +02:00
parent b315892249
commit 84702fa47d
Signed by: p
GPG Key ID: A0420B94F92B9493

View File

@ -268,6 +268,7 @@ input_rl_start (struct input *input, const char *program_name)
rl_readline_name = slash ? ++slash : program_name; rl_readline_name = slash ? ++slash : program_name;
rl_startup_hook = input_rl_on_startup; rl_startup_hook = input_rl_on_startup;
rl_catch_sigwinch = false; rl_catch_sigwinch = false;
rl_change_environment = false;
hard_assert (self->prompt != NULL); hard_assert (self->prompt != NULL);
rl_callback_handler_install (self->prompt, input_rl_on_input); rl_callback_handler_install (self->prompt, input_rl_on_input);
@ -2714,6 +2715,7 @@ static void
resume_terminal (struct app_context *ctx) resume_terminal (struct app_context *ctx)
{ {
ctx->input->vtable->prepare (ctx->input, true); ctx->input->vtable->prepare (ctx->input, true);
ctx->input->vtable->on_terminal_resized (ctx->input);
ev_io_start (EV_DEFAULT_ &ctx->tty_watcher); ev_io_start (EV_DEFAULT_ &ctx->tty_watcher);
ctx->input->vtable->show (ctx->input); ctx->input->vtable->show (ctx->input);
} }