Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix yellow 2e9c2da

Eliminate static pointer

Change-Id: Id26363771439dbd1f08c661ae2ff4277e0e8f288

+19 -19
+19 -19
apps/menu.c
··· 67 67 static int current_subitems[MAX_MENU_SUBITEMS]; 68 68 static int current_subitems_count = 0; 69 69 static int talk_menu_item(int selected_item, void *data); 70 - static char *title_buf; 71 - static size_t title_buf_sz; 72 70 73 71 struct menu_data_t 74 72 { ··· 200 198 return menu_icon; 201 199 } 202 200 203 - static char* init_title(const struct menu_item_ex *menu, int *icon) 201 + static char* init_title(const struct menu_item_ex *menu, int *icon, 202 + char* buf, size_t buf_sz) 204 203 { 205 204 char *title; 206 205 ··· 214 213 *icon = menu->menu_get_name_and_icon->icon_id; 215 214 title = menu->menu_get_name_and_icon-> 216 215 list_get_name(-1, menu->menu_get_name_and_icon-> 217 - list_get_name_data, title_buf, title_buf_sz); 216 + list_get_name_data, buf, buf_sz); 218 217 } 219 218 else 220 219 { ··· 230 229 231 230 static int init_menu_lists(const struct menu_item_ex *menu, 232 231 struct gui_synclist *lists, int selected, bool callback, 233 - struct viewport parent[NB_SCREENS]) 232 + struct viewport parent[NB_SCREENS], char* buf, size_t buf_sz) 234 233 { 235 234 if (!menu || !lists) 236 235 { ··· 267 266 current_submenus_menu = (struct menu_item_ex *)menu; 268 267 269 268 gui_synclist_init(lists,get_menu_item_name,(void*)menu,false,1, parent); 270 - title = init_title(menu, &icon); 269 + title = init_title(menu, &icon, buf, buf_sz); 271 270 gui_synclist_set_title(lists, title, icon); 272 271 gui_synclist_set_icon_callback(lists, global_settings.show_icons?menu_get_icon:NULL); 273 272 if(global_settings.talk_menu) ··· 410 409 touchscreen_set_mode(global_settings.touch_mode); 411 410 #endif 412 411 413 - title_buf = buf; 414 - title_buf_sz = sizeof buf; 415 - title = init_title(menu, &icon); 412 + title = init_title(menu, &icon, buf, sizeof buf); 416 413 FOR_NB_SCREENS(i) 417 414 { 418 415 sb_set_persistent_title(title, icon, i); ··· 428 425 * this function, e.g. with viewport_set_defaults(parent, screen) 429 426 * start_action allows an action to be processed 430 427 * by menu logic by bypassing get_action on the initial run */ 431 - start_action = init_menu_lists(menu, &lists, selected, true, parent); 428 + start_action = init_menu_lists(menu, &lists, selected, true, parent, 429 + buf, sizeof buf); 432 430 vps = *(lists.parent); 433 431 in_stringlist = ((menu->flags&MENU_TYPE_MASK) == MT_RETURN_ID); 434 432 /* load the callback, and only reload it if menu changes */ ··· 489 487 } 490 488 } 491 489 if (!done) 492 - init_menu_lists(menu, &lists, lists.selected_item, false, vps); 490 + init_menu_lists(menu, &lists, lists.selected_item, false, vps, 491 + buf, sizeof buf); 493 492 redraw_lists = true; 494 493 } 495 494 #endif ··· 562 561 } 563 562 #endif 564 563 int msel = do_menu(context_menu, NULL, NULL, false); 565 - title_buf = buf; 566 564 567 565 switch (msel) 568 566 { ··· 634 632 if (!exiting_menu && (menu->flags&MENU_EXITAFTERTHISMENU)) 635 633 done = true; 636 634 else 637 - init_menu_lists(menu, &lists, msel, false, vps); 635 + init_menu_lists(menu, &lists, msel, false, vps, buf, sizeof buf); 638 636 redraw_lists = true; 639 637 /* new menu, so reload the callback */ 640 638 get_menu_callback(menu, &menu_callback); ··· 675 673 mstack[stack_top].selected = selected; 676 674 stack_top++; 677 675 menu = temp; 678 - init_menu_lists(menu, &lists, 0, true, vps); 676 + init_menu_lists(menu, &lists, 0, true, vps, buf, sizeof buf); 679 677 } 680 678 break; 681 679 case MT_FUNCTION_CALL_W_PARAM: ··· 695 693 (temp->flags&MENU_EXITAFTERTHISMENU)) 696 694 { 697 695 /* Reload menu but don't run the calback again FS#8117 */ 698 - init_menu_lists(menu, &lists, selected, false, vps); 696 + init_menu_lists(menu, &lists, selected, false, vps, 697 + buf, sizeof buf); 699 698 } 700 699 if (temp->flags&MENU_FUNC_CHECK_RETVAL) 701 700 { ··· 711 710 case MT_SETTING_W_TEXT: 712 711 { 713 712 do_setting_from_menu(temp, vps); 714 - init_menu_lists(menu, &lists, selected, false, vps); 713 + init_menu_lists(menu, &lists, selected, false, vps, buf, sizeof buf); 715 714 redraw_lists = true; 716 715 717 716 break; ··· 728 727 mstack[stack_top].selected = selected; 729 728 stack_top++; 730 729 menu = temp; 731 - init_menu_lists(menu,&lists,0,false, vps); 730 + init_menu_lists(menu, &lists, 0, false, vps, buf, sizeof buf); 732 731 in_stringlist = true; 733 732 } 734 733 break; ··· 747 746 menu_callback(ACTION_EXIT_MENUITEM, temp, &lists); 748 747 } 749 748 if (current_submenus_menu != menu) 750 - init_menu_lists(menu,&lists,selected,true,vps); 749 + init_menu_lists(menu, &lists,selected, true, vps, buf, sizeof buf); 751 750 /* callback was changed, so reload the menu's callback */ 752 751 get_menu_callback(menu, &menu_callback); 753 752 if ((menu->flags&MENU_EXITAFTERTHISMENU) && ··· 795 794 if (stack_top > 0) 796 795 { 797 796 menu = mstack[0].menu; 798 - init_menu_lists(menu,&lists,mstack[0].selected,true, vps); 797 + init_menu_lists(menu, &lists, mstack[0].selected, true, vps, 798 + buf, sizeof buf); 799 799 } 800 800 *start_selected = get_menu_selection( 801 801 gui_synclist_get_sel_pos(&lists), menu);