Pass userdata pointer to list_cache callback

This commit is contained in:
twinaphex 2015-12-10 16:17:23 +01:00
parent f0a8867487
commit bd0a427df1
4 changed files with 7 additions and 13 deletions

View File

@ -1195,11 +1195,10 @@ static void mui_preswitch_tabs(mui_handle_t *mui, unsigned action)
}
}
static void mui_list_cache(menu_list_type_t type, unsigned action)
static void mui_list_cache(void *data, menu_list_type_t type, unsigned action)
{
size_t list_size;
menu_handle_t *menu = menu_driver_get_ptr();
mui_handle_t *mui = menu ? (mui_handle_t*)menu->userdata : NULL;
mui_handle_t *mui = (mui_handle_t*)data;
if (!mui)
return;

View File

@ -2399,19 +2399,13 @@ static void xmb_list_deep_copy(const file_list_t *src, file_list_t *dst)
}
}
static void xmb_list_cache(menu_list_type_t type, unsigned action)
static void xmb_list_cache(void *data, menu_list_type_t type, unsigned action)
{
size_t stack_size, list_size, selection;
xmb_handle_t *xmb = NULL;
menu_handle_t *menu = menu_driver_get_ptr();
xmb_handle_t *xmb = (xmb_handle_t*)data;
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
if (!menu)
return;
xmb = (xmb_handle_t*)menu->userdata;
if (!xmb)
return;
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))

View File

@ -205,9 +205,10 @@ bool menu_driver_list_push(menu_displaylist_info_t *info, unsigned type)
void menu_driver_list_cache(menu_list_type_t type, unsigned action)
{
const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
if (driver->list_cache)
driver->list_cache(type, action);
driver->list_cache(menu->userdata, type, action);
}
size_t menu_driver_list_get_size(menu_list_type_t type)

View File

@ -271,7 +271,7 @@ typedef struct menu_ctx_driver
void (*list_insert)(file_list_t *list, const char *, const char *, size_t);
void (*list_free)(file_list_t *list, size_t, size_t);
void (*list_clear)(file_list_t *list);
void (*list_cache)(menu_list_type_t, unsigned);
void (*list_cache)(void *data, menu_list_type_t, unsigned);
int (*list_push)(menu_displaylist_info_t*, unsigned);
size_t(*list_get_selection)(void *data);
size_t(*list_get_size)(void *data, menu_list_type_t type);