diff --git a/cmd-choose-list.c b/cmd-choose-list.c index 15c644ec..4c32e694 100644 --- a/cmd-choose-list.c +++ b/cmd-choose-list.c @@ -86,6 +86,12 @@ cmd_choose_list_exec(struct cmd *self, struct cmd_ctx *ctx) } free(copy); + if (idx == 0) { + free(template); + window_pane_reset_mode(wl->window->active); + return (CMD_RETURN_ERROR); + } + window_choose_ready(wl->window->active, 0, cmd_choose_list_callback, cmd_choose_list_free); diff --git a/tty.c b/tty.c index fdc05510..68d130c2 100644 --- a/tty.c +++ b/tty.c @@ -1046,6 +1046,12 @@ tty_cmd_rawstring(struct tty *tty, const struct tty_ctx *ctx) for (i = 0; i < ctx->num; i++) tty_putc(tty, str[i]); + + tty->cx = tty->cy = UINT_MAX; + tty->rupper = tty->rlower = UINT_MAX; + + tty_reset(tty); + tty_cursor(tty, 0, 0); } void