From 347baa6f3ebded07e664d534a0d04f661039bedb Mon Sep 17 00:00:00 2001 From: nicm Date: Sun, 21 Jun 2026 17:43:47 +0000 Subject: [PATCH] Do not walk off end or beginning of menu item list if every item is disabled, GitHub issue 5255 from aizumusheer2 at gmail dot com. --- menu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/menu.c b/menu.c index 98d441fee..b124486b1 100644 --- a/menu.c +++ b/menu.c @@ -438,7 +438,7 @@ menu_key_cb(struct client *c, void *data, struct key_event *event) break; } } - while (name == NULL || *name == '-') { + while ((name == NULL || *name == '-') && md->choice != 0) { md->choice--; name = menu->items[md->choice].name; } @@ -448,7 +448,7 @@ menu_key_cb(struct client *c, void *data, struct key_event *event) case KEYC_HOME: md->choice = 0; name = menu->items[md->choice].name; - while (name == NULL || *name == '-') { + while ((name == NULL || *name == '-') && md->choice != count - 1) { md->choice++; name = menu->items[md->choice].name; } @@ -458,7 +458,7 @@ menu_key_cb(struct client *c, void *data, struct key_event *event) case KEYC_END: md->choice = count - 1; name = menu->items[md->choice].name; - while (name == NULL || *name == '-') { + while ((name == NULL || *name == '-') && md->choice != 0) { md->choice--; name = menu->items[md->choice].name; }