From: PatR Date: Sat, 19 Mar 2022 19:49:43 +0000 (-0700) Subject: menuinvertmode on curses X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0cd98c402dd1e8dd734f8d6a4e4d2fdae998de7f;p=nethack menuinvertmode on curses Change curses' use of menuitem_invert_test() to match the recently changed tty behavior: when menuinvertmode is 1 the test excludes special menu items that are flagged 'skip-invert' while handling select-all and select-page as well as invert-all and invert-page, and when that option is 2 then it also operates on deselect-all and deselect-page. --- diff --git a/win/curses/cursdial.c b/win/curses/cursdial.c index 81e92a465..b448fc771 100644 --- a/win/curses/cursdial.c +++ b/win/curses/cursdial.c @@ -1703,9 +1703,10 @@ menu_operation( } if (menu_item_ptr->identifier.a_void != NULL) { - if (operation != INVERT - || menuitem_invert_test(0, menu_item_ptr->itemflags, - menu_item_ptr->selected)) + if (menuitem_invert_test(((operation == INVERT) ? 0 + : (operation == SELECT) ? 1 : 2), + menu_item_ptr->itemflags, + menu_item_ptr->selected)) menu_select_deselect(win, menu_item_ptr, operation, current_page); }