Fix loop around for number keys

This commit is contained in:
RisingThumb 2020-09-22 22:41:16 +01:00 committed by malod219
parent 2b0484b11c
commit 02511d092b

17
xmenu.c
View File

@ -1281,14 +1281,15 @@ selectitem:
} else if (ksym == XK_Tab || ksym == XK_Down || ksym == KSYMDOWN) {
item = itemcycle(currmenu, ITEMNEXT);
} else if (ksym >= XK_1 && ksym <= XK_9){
item = itemcycle(currmenu, ITEMFIRST);
currmenu->selected = item;
for(int i = ksym-XK_1; i > 0; i-=1){
item = itemcycle(currmenu, ITEMNEXT);
currmenu->selected = item;
}
} else if ((ksym == XK_Return || ksym == XK_Right || ksym == KSYMRIGHT) &&
currmenu->selected != NULL) {
item = itemcycle(currmenu, ITEMFIRST);
for(int i = ksym-XK_1; i > 0; i-=1){
currmenu->selected = item;
item = itemcycle(currmenu, ITEMNEXT);
if (item == itemcycle(currmenu, ITEMLAST))
break;
}
} else if ((ksym == XK_Return || ksym == XK_Right || ksym == KSYMRIGHT) &&
currmenu->selected != NULL) {
item = currmenu->selected;
goto selectitem;
} else if ((ksym == XK_Escape || ksym == XK_Left || ksym == KSYMLEFT) &&