diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index babb6a71e8..15af0992a6 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -80,6 +80,8 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) case DISPLAYLIST_SHADER_PRESET: case DISPLAYLIST_DATABASES: case DISPLAYLIST_DATABASE_CURSORS: + case DISPLAYLIST_VIDEO_FILTER: + case DISPLAYLIST_IMAGES: ret = menu_entries_parse_list(info->list, info->menu_list, info->path, info->label, info->type, info->type_default, info->exts, NULL); diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 9132ed933b..2f9420fcd9 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -38,6 +38,8 @@ enum DISPLAYLIST_SHADER_PRESET, DISPLAYLIST_DATABASES, DISPLAYLIST_DATABASE_CURSORS, + DISPLAYLIST_VIDEO_FILTER, + DISPLAYLIST_IMAGES, }; typedef struct menu_displaylist_info diff --git a/menu/menu_entries_cbs_deferred_push.c b/menu/menu_entries_cbs_deferred_push.c index f927529ed7..bb7ceef16c 100644 --- a/menu/menu_entries_cbs_deferred_push.c +++ b/menu/menu_entries_cbs_deferred_push.c @@ -2009,15 +2009,33 @@ static int deferred_push_video_shader_pass(void *data, void *userdata, static int deferred_push_video_filter(void *data, void *userdata, const char *path, const char *label, unsigned type) { - return menu_entries_parse_list((file_list_t*)data, (file_list_t*)userdata, path, label, type, - MENU_FILE_VIDEOFILTER, "filt", NULL); + menu_displaylist_info_t info = {0}; + + info.list = (file_list_t*)data; + info.menu_list = (file_list_t*)userdata; + info.type = type; + info.type_default = MENU_FILE_VIDEOFILTER; + strlcpy(info.exts, "filt", sizeof(info.exts)); + strlcpy(info.path, path, sizeof(info.path)); + strlcpy(info.label, label, sizeof(info.label)); + + return menu_displaylist_push_list(&info, DISPLAYLIST_VIDEO_FILTER); } static int deferred_push_images(void *data, void *userdata, const char *path, const char *label, unsigned type) { - return menu_entries_parse_list((file_list_t*)data, (file_list_t*)userdata, path, label, type, - MENU_FILE_IMAGE, "png", NULL); + menu_displaylist_info_t info = {0}; + + info.list = (file_list_t*)data; + info.menu_list = (file_list_t*)userdata; + info.type = type; + info.type_default = MENU_FILE_IMAGE; + strlcpy(info.exts, "png", sizeof(info.exts)); + strlcpy(info.path, path, sizeof(info.path)); + strlcpy(info.label, label, sizeof(info.label)); + + return menu_displaylist_push_list(&info, DISPLAYLIST_IMAGES); } static int deferred_push_audio_dsp_plugin(void *data, void *userdata,