From 02197f20d0809a5c248a32ef0ca3a45c7e3566bd Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 30 Oct 2020 11:33:41 +0000 Subject: Do not leak path when freeing screen, from Sergey Nizovtsev. --- screen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/screen.c b/screen.c index 227934dd..d39447de 100644 --- a/screen.c +++ b/screen.c @@ -79,6 +79,7 @@ screen_init(struct screen *s, u_int sx, u_int sy, u_int hlimit) s->title = xstrdup(""); s->titles = NULL; + s->path = NULL; s->cstyle = 0; s->ccolour = xstrdup(""); @@ -121,6 +122,7 @@ screen_free(struct screen *s) { free(s->sel); free(s->tabs); + free(s->path); free(s->title); free(s->ccolour); -- cgit From 8e1d28453d23d6283abe1bb709a4fe06139d2750 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 30 Oct 2020 11:34:13 +0000 Subject: Limit range of repeat to avoid silly high numbers causing delays, from Sergey Nizovtsev. --- input.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/input.c b/input.c index c280c0d9..8b7ba08a 100644 --- a/input.c +++ b/input.c @@ -1545,6 +1545,10 @@ input_csi_dispatch(struct input_ctx *ictx) if (n == -1) break; + m = screen_size_x(s) - s->cx; + if (n > m) + n = m; + if (ictx->last == -1) break; ictx->ch = ictx->last; -- cgit From 9726c4454e29cb5b9c6681abfb5c99972a9bd574 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 30 Oct 2020 12:00:01 +0000 Subject: Do not allow disabled items to be selected. --- menu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/menu.c b/menu.c index 3bd56ab1..48c9ed2f 100644 --- a/menu.c +++ b/menu.c @@ -315,10 +315,11 @@ chosen: if (md->choice == -1) return (1); item = &menu->items[md->choice]; - if ((md->flags & MENU_STAYOPEN) && item->name == NULL) - return (0); - if (item->name == NULL || *item->name == '-') + if (item->name == NULL || *item->name == '-') { + if (md->flags & MENU_STAYOPEN) + return (0); return (1); + } if (md->cb != NULL) { md->cb(md->menu, md->choice, item->key, md->data); md->cb = NULL; -- cgit