Skip to content

Crash on menu if you let the screensaver activate then press left/right #12

@smcameron

Description

@smcameron
┌──/home/scameron/github/badge2024/source/core/menu.c──────────────────────────────────────────────────────────────────────────────────┐
│   326                         if (current_item == menu) { /* wrap around to last item */                                             │
│   327                                 while (!(current_item->attrib & LAST_ITEM))                                                    │
│   328                                         current_item++;                                                                        │
│   329                         } else {                                                                                               │
│   330                                 current_item--;                                                                                │
│   331                         }                                                                                                      │
│   332                         detect_infinite_loop_in_menus(menu, current_item, 0);                                                  │
│   333                                                                                                                                │
│  >334                         if (current_item->type == BACK && skip_back_item)                                                      │
│   335                                 continue;                                                                                      │
│   336                         if (current_item->attrib & exclude_attribs)                                                            │
│   337                                 continue;                                                                                      │
│   338                         break;                                                                                                 │
│   339                 }                                                                                                              │
│   340                 return current_item;                                                                                           │
│   341         }                                                                                                                      │
│   342                                                                                                                                │
│   343         #ifdef TARGET_SIMULATOR                                                                                                │
│   344         static void sanity_check_menu(struct menu_t *menu)                                                                     │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
multi-thre Thread 0x7ffff0ffd7 In: find_prev_menu_item                                                         L334  PC: 0x55555580074c 
(gdb) print current_item
$1 = (struct menu_t *) 0xffffffffffffffd8
(gdb) 

Happens in both the simulator and on the badge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions