- 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);
+ lastitem = itemcycle(currmenu, ITEMLAST);
+ for (int i = ksym - XK_1; i > 0 && item != lastitem; i--) {
+ currmenu->selected = item;
+ item = itemcycle(currmenu, ITEMNEXT);
+ }
+ } else if ((ksym == XK_Return || ksym == XK_Right || ksym == KSYMRIGHT) &&
+ currmenu->selected != NULL) {