cdrom: only show load/dump menu options if a drive is present on the system

This commit is contained in:
Brad Parker 2019-07-09 12:43:21 -04:00
parent a808262108
commit 7016d8b51f
2 changed files with 29 additions and 16 deletions

View File

@ -4923,14 +4923,15 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
0, i);
}
if (list->size == 0)
if (!list || list->size == 0)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY),
MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY,
FILE_TYPE_NONE, 0, 0);
string_list_free(list);
if (list)
string_list_free(list);
info->need_push = true;
info->need_refresh = true;

View File

@ -6652,21 +6652,33 @@ static bool setting_append_list(
#ifdef HAVE_CDROM
/* TODO/FIXME - add check seeing if CDROM is inserted into tray
*/
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_LOAD_DISC,
MENU_ENUM_LABEL_VALUE_LOAD_DISC,
&group_info,
&subgroup_info,
parent_group);
{
struct string_list *drive_list = cdrom_get_available_drives();
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_DUMP_DISC,
MENU_ENUM_LABEL_VALUE_DUMP_DISC,
&group_info,
&subgroup_info,
parent_group);
if (drive_list)
{
if (drive_list->size)
{
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_LOAD_DISC,
MENU_ENUM_LABEL_VALUE_LOAD_DISC,
&group_info,
&subgroup_info,
parent_group);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_DUMP_DISC,
MENU_ENUM_LABEL_VALUE_DUMP_DISC,
&group_info,
&subgroup_info,
parent_group);
}
string_list_free(drive_list);
}
}
#endif
if (string_is_not_equal(settings->arrays.menu_driver, "xmb") && string_is_not_equal(settings->arrays.menu_driver, "ozone"))