menu: Avoid adding zero-size pages

Ensure that pages always have at least one item, even if that item is
too big to fit on any page.
This commit is contained in:
adnano 2024-03-25 08:20:36 -04:00
parent ac25b07338
commit 41b2e8b1e1

4
menu.c
View file

@ -219,11 +219,13 @@ static void page_items(struct menu *menu) {
page->first = item; page->first = item;
int total_width = 0; int total_width = 0;
int items = 0;
while (item) { while (item) {
total_width += item->width + 2 * menu->padding; total_width += item->width + 2 * menu->padding;
if (total_width > max_width) { if (total_width > max_width && items > 0) {
break; break;
} }
items++;
item->page = page; item->page = page;
page->last = item; page->last = item;