Start setting the stage for deferred push callback

This commit is contained in:
twinaphex 2014-10-15 07:40:19 +02:00
parent d56105b6e5
commit 78c136b218
4 changed files with 19 additions and 2 deletions

View File

@ -205,6 +205,11 @@ void *file_list_get_actiondata_at_offset(const file_list_t *list, size_t index)
return list->list[index].actiondata;
}
void *file_list_get_last_actiondata(const file_list_t *list)
{
return list->list[list->size - 1].actiondata;
}
void file_list_get_at_offset(const file_list_t *list, size_t index,
const char **path, const char **label, unsigned *file_type)
{

View File

@ -60,6 +60,8 @@ void file_list_get_last(const file_list_t *list,
const char **path, const char **label,
unsigned *type);
void *file_list_get_last_actiondata(const file_list_t *list);
size_t file_list_get_size(const file_list_t *list);
size_t file_list_get_directory_ptr(const file_list_t *list);

View File

@ -543,7 +543,7 @@ static int push_list(menu_handle_t *menu,
return 0;
}
static int menu_parse_list(file_list_t *list, file_list_t *menu_list,
int menu_entries_parse_list(file_list_t *list, file_list_t *menu_list,
const char *dir, const char *label, unsigned type,
unsigned default_type_plain, const char *exts)
{
@ -792,6 +792,7 @@ int menu_entries_deferred_push(file_list_t *list, file_list_t *menu_list)
const char *path = NULL;
const char *label = NULL;
const char *exts = NULL;
menu_file_list_cbs_t *cbs = NULL;
char ext_buf[PATH_MAX];
file_list_get_last(menu_list, &path, &label, &type);
@ -803,6 +804,11 @@ int menu_entries_deferred_push(file_list_t *list, file_list_t *menu_list)
if (((menu_parse_check(label, type)) == -1))
return push_list(driver.menu, list, path, label, type);
cbs = (menu_file_list_cbs_t*)
file_list_get_last_actiondata(menu_list);
(void)cbs;
//RARCH_LOG("LABEL: %s\n", label);
if (!strcmp(label, "core_list"))
exts = EXT_EXECUTABLES;
@ -860,7 +866,7 @@ int menu_entries_deferred_push(file_list_t *list, file_list_t *menu_list)
else
exts = g_extern.system.valid_extensions;
menu_parse_list(list, menu_list, path, label,
menu_entries_parse_list(list, menu_list, path, label,
type, default_type_plain, exts);
return 0;

View File

@ -30,6 +30,10 @@ void menu_entries_push(file_list_t *list,
const char *path, const char *label, unsigned type,
size_t directory_ptr);
int menu_entries_parse_list(file_list_t *list, file_list_t *menu_list,
const char *dir, const char *label, unsigned type,
unsigned default_type_plain, const char *exts);
void menu_entries_pop_list(file_list_t *list);
int menu_entries_deferred_push(file_list_t *list, file_list_t *menu_list);