From fbfac21aacc2e0c9c07a9a3d600e6bae635e4db9 Mon Sep 17 00:00:00 2001 From: Ray Chason Date: Tue, 11 Aug 2026 18:11:00 -0400 Subject: [PATCH] Fix menu group accelerators If there are, say, two or more potions in the menu, and multiple selections are allowed, then '!' should select all potions. Such keys were selecting only the first matching item. --- win/X11/winmenu.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/win/X11/winmenu.c b/win/X11/winmenu.c index f3bf05127..abc646938 100644 --- a/win/X11/winmenu.c +++ b/win/X11/winmenu.c @@ -262,10 +262,14 @@ menu_key(Widget w, XEvent *event, String *params, Cardinal *num_params) overridden if it happens to duplicate a mapped menu command (':' to look inside a container vs ':' to select via search string); check for group accelerator match too */ - for (curr = menu_info->curr_menu.base; curr; curr = curr->next) - if (curr->identifier.a_void != 0 - && (curr->selector == ch || curr->gselector == ch)) - goto make_selection; + for (curr = menu_info->curr_menu.base; curr; curr = curr->next) { + if (curr->identifier.a_void != 0) { + if (curr->selector == ch) + goto make_selection; + if (curr->gselector == ch) + goto group_accel; + } + } ch = map_menu_cmd(ch); if (ch == '\033') { /* quit */