xmb: fix a crash.

xmb_node_allocate_userdata needs to be called for the list since is
generated with menu_entries_append_enum, which allocates action data for
each items. those would be otherwise misinterpreted as nodes.
This commit is contained in:
aliaspider 2016-10-11 03:49:47 +01:00
parent 679078ce01
commit a8aa78456c

View File

@ -1355,6 +1355,7 @@ static void xmb_context_destroy_horizontal_list(xmb_handle_t *xmb)
static void xmb_init_horizontal_list(xmb_handle_t *xmb)
{
size_t i;
menu_displaylist_info_t info = {0};
settings_t *settings = config_get_ptr();
@ -1378,8 +1379,12 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb)
strlcpy(info.exts, "lpl", sizeof(info.exts));
if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info))
{
for (i=0; i < xmb->horizontal_list->size; i++)
xmb_node_allocate_userdata(xmb, i);
menu_displaylist_ctl(DISPLAYLIST_PROCESS, &info);
}
}
static void xmb_toggle_horizontal_list(xmb_handle_t *xmb)
{