From ca0907a6282e8f71ff6a3f111fee6fa19750f463 Mon Sep 17 00:00:00 2001 From: nick black Date: Wed, 14 Oct 2020 02:10:45 -0400 Subject: [PATCH] ncmenu: don't allow disabled entries to be selected #1057 --- src/lib/menu.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/menu.c b/src/lib/menu.c index b6562f8cf..0d7deaddb 100644 --- a/src/lib/menu.c +++ b/src/lib/menu.c @@ -490,11 +490,12 @@ int ncmenu_nextitem(ncmenu* n){ return -1; } } + ncmenu_int_section* sec = &n->sections[n->unrolledsection]; do{ - if(++n->sections[n->unrolledsection].itemselected == n->sections[n->unrolledsection].itemcount){ - n->sections[n->unrolledsection].itemselected = 0; + if(++sec->itemselected == sec->itemcount){ + sec->itemselected = 0; } - }while(!n->sections[n->unrolledsection].items[n->sections[n->unrolledsection].itemselected].desc); + }while(!sec->items[sec->itemselected].desc || sec->items[sec->itemselected].disabled); return ncmenu_unroll(n, n->unrolledsection); } @@ -504,11 +505,12 @@ int ncmenu_previtem(ncmenu* n){ return -1; } } + ncmenu_int_section* sec = &n->sections[n->unrolledsection]; do{ - if(n->sections[n->unrolledsection].itemselected-- == 0){ - n->sections[n->unrolledsection].itemselected = n->sections[n->unrolledsection].itemcount - 1; + if(sec->itemselected-- == 0){ + sec->itemselected = sec->itemcount - 1; } - }while(!n->sections[n->unrolledsection].items[n->sections[n->unrolledsection].itemselected].desc); + }while(!sec->items[sec->itemselected].desc || sec->items[sec->itemselected].disabled); return ncmenu_unroll(n, n->unrolledsection); }