Skip to content

Commit 3efaa0b

Browse files
committed
Show core backup restore+delete only when needed
1 parent b65b758 commit 3efaa0b

2 files changed

Lines changed: 31 additions & 15 deletions

File tree

menu/menu_displaylist.c

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,22 +1067,29 @@ static int menu_displaylist_parse_core_info(
10671067
MENU_SETTING_ACTION_CORE_CREATE_BACKUP, 0, 0, NULL))
10681068
count++;
10691069

1070-
/* Restore core from backup */
1071-
if (!core_locked)
1072-
if (menu_entries_append(list,
1073-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_RESTORE_BACKUP_LIST),
1074-
core_path,
1075-
MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST,
1076-
MENU_SETTING_ACTION_CORE_RESTORE_BACKUP, 0, 0, NULL))
1077-
count++;
1070+
{
1071+
core_backup_list_t *backup_list = core_backup_list_init(core_path, settings->paths.directory_core_assets);
10781072

1079-
/* Delete core backup */
1080-
if (menu_entries_append(list,
1081-
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_DELETE_BACKUP_LIST),
1082-
core_path,
1083-
MENU_ENUM_LABEL_CORE_DELETE_BACKUP_LIST,
1084-
MENU_SETTING_ACTION_CORE_DELETE_BACKUP, 0, 0, NULL))
1085-
count++;
1073+
if (backup_list && core_backup_list_size(backup_list))
1074+
{
1075+
/* Restore core from backup */
1076+
if (!core_locked)
1077+
if (menu_entries_append(list,
1078+
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_RESTORE_BACKUP_LIST),
1079+
core_path,
1080+
MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST,
1081+
MENU_SETTING_ACTION_CORE_RESTORE_BACKUP, 0, 0, NULL))
1082+
count++;
1083+
1084+
/* Delete core backup */
1085+
if (menu_entries_append(list,
1086+
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_DELETE_BACKUP_LIST),
1087+
core_path,
1088+
MENU_ENUM_LABEL_CORE_DELETE_BACKUP_LIST,
1089+
MENU_SETTING_ACTION_CORE_DELETE_BACKUP, 0, 0, NULL))
1090+
count++;
1091+
}
1092+
}
10861093

10871094
/* Delete core
10881095
* > Only add this option if online updater is

tasks/task_core_backup.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,15 @@ static void task_core_backup_handler(retro_task_t *task)
519519
return;
520520

521521
task_finished:
522+
#ifdef HAVE_MENU
523+
{
524+
/* Refresh menu */
525+
struct menu_state *menu_st = menu_state_get_ptr();
526+
if (menu_st)
527+
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
528+
| MENU_ST_FLAG_PREVENT_POPULATE;
529+
}
530+
#endif
522531

523532
if (task)
524533
task_set_flags(task, RETRO_TASK_FLG_FINISHED, true);

0 commit comments

Comments
 (0)