Bugfix: Fix hardfault when update menu is opened and no hex file is located on disk
This commit is contained in:
parent
96e0931c9f
commit
c78477296a
@ -663,6 +663,7 @@ static void gui_update_firmware(struct lcd_menu *menu, enum menu_entry_func_entr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (list_length) {
|
||||||
if (entry_type == MENU_ENTRY_FIRST_ENTER ||
|
if (entry_type == MENU_ENTRY_FIRST_ENTER ||
|
||||||
previously_selected_file != currently_selected_file) {
|
previously_selected_file != currently_selected_file) {
|
||||||
fname = sl_list_nth(file_list, currently_selected_file)->data;
|
fname = sl_list_nth(file_list, currently_selected_file)->data;
|
||||||
@ -673,11 +674,15 @@ static void gui_update_firmware(struct lcd_menu *menu, enum menu_entry_func_entr
|
|||||||
if (button == BUTTON_SHORT_RELEASED) {
|
if (button == BUTTON_SHORT_RELEASED) {
|
||||||
fname = sl_list_nth(file_list, currently_selected_file)->data;
|
fname = sl_list_nth(file_list, currently_selected_file)->data;
|
||||||
menu_display_clear(menu);
|
menu_display_clear(menu);
|
||||||
file_list = NULL;
|
|
||||||
updater_update_from_file(fname);
|
updater_update_from_file(fname);
|
||||||
/* This code is here for completeness. It will never be reached! */
|
/* This code is here for completeness. It will never be reached! */
|
||||||
sl_list_free_full(file_list, delete_file_list_entry);
|
sl_list_free_full(file_list, delete_file_list_entry);
|
||||||
} else if (button == BUTTON_LONG) {
|
}
|
||||||
|
} else {
|
||||||
|
menu_lcd_output(menu, 0, "No files!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (button == BUTTON_LONG) {
|
||||||
sl_list_free_full(file_list, delete_file_list_entry);
|
sl_list_free_full(file_list, delete_file_list_entry);
|
||||||
file_list = NULL;
|
file_list = NULL;
|
||||||
menu_entry_dropback(menu, my_parent);
|
menu_entry_dropback(menu, my_parent);
|
||||||
|
Loading…
Reference in New Issue
Block a user