From f2952c530ce69a43b186e313e38eb750b6d44235 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 10 Feb 2016 06:01:11 +0100 Subject: [PATCH] Cleanups --- menu/drivers/xmb.c | 8 +++++++- menu/menu_display.c | 7 ++++++- menu/menu_driver.c | 15 ++++++++------- menu/menu_driver.h | 10 ++++++++-- 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index a3cfb97643..3f936b65bd 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -567,8 +567,14 @@ static void xmb_update_boxart_path(xmb_handle_t *xmb, unsigned i) static void menu_display_handle_boxart_upload(void *task_data, void *user_data, const char *err) { + menu_ctx_load_image_t load_image_info; struct texture_image *img = (struct texture_image*)task_data; - menu_driver_load_image(img, MENU_IMAGE_BOXART); + + load_image_info.data = img; + load_image_info.type = MENU_IMAGE_BOXART; + + menu_driver_ctl(RARCH_MENU_CTL_LOAD_IMAGE, &load_image_info); + video_texture_image_free(img); free(img); } diff --git a/menu/menu_display.c b/menu/menu_display.c index cf5876919c..0f7dba1ce1 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -506,8 +506,13 @@ bool menu_display_ctl(enum menu_display_ctl_state state, void *data) void menu_display_handle_wallpaper_upload(void *task_data, void *user_data, const char *err) { + menu_ctx_load_image_t load_image_info; struct texture_image *img = (struct texture_image*)task_data; - menu_driver_load_image(img, MENU_IMAGE_WALLPAPER); + + load_image_info.data = img; + load_image_info.type = MENU_IMAGE_WALLPAPER; + + menu_driver_ctl(RARCH_MENU_CTL_LOAD_IMAGE, &load_image_info); video_texture_image_free(img); free(img); } diff --git a/menu/menu_driver.c b/menu/menu_driver.c index dcee9e51a0..de972b5ff1 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -380,13 +380,6 @@ static void menu_driver_toggle(bool latch) } } -bool menu_driver_load_image(void *data, menu_image_type_t type) -{ - if (!menu_driver_ctx || !menu_driver_ctx->load_image) - return false; - return menu_driver_ctx->load_image(menu_userdata, data, type); -} - bool menu_environment_cb(menu_environ_cb_t type, void *data) { if (menu_driver_ctx->environ_cb) @@ -740,6 +733,14 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) menu_driver_ctx->list_set_selection(menu_userdata, list); } break; + case RARCH_MENU_CTL_LOAD_IMAGE: + { + menu_ctx_load_image_t *load_image_info = (menu_ctx_load_image_t*)data; + if (!menu_driver_ctx || !menu_driver_ctx->load_image) + return false; + return menu_driver_ctx->load_image(menu_userdata, + load_image_info->data, load_image_info->type); + } default: case RARCH_MENU_CTL_NONE: break; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 2a3b1da9a6..d8ae9e322d 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -137,7 +137,8 @@ enum rarch_menu_ctl_state RARCH_MENU_CTL_SHADER_MANAGER_INIT, RARCH_MENU_CTL_LIST_SET_SELECTION, RARCH_MENU_CTL_POPULATE_ENTRIES, - RARCH_MENU_CTL_FIND_DRIVER + RARCH_MENU_CTL_FIND_DRIVER, + RARCH_MENU_CTL_LOAD_IMAGE }; typedef enum @@ -314,6 +315,12 @@ typedef struct menu_ctx_driver menu_entry_t *entry, unsigned action); } menu_ctx_driver_t; +typedef struct menu_ctx_load_image +{ + void *data; + menu_image_type_t type; +} menu_ctx_load_image_t; + extern menu_ctx_driver_t menu_ctx_xui; extern menu_ctx_driver_t menu_ctx_rgui; extern menu_ctx_driver_t menu_ctx_mui; @@ -352,7 +359,6 @@ const char* config_get_menu_driver_options(void); menu_handle_t *menu_driver_get_ptr(void); -bool menu_driver_load_image(void *data, menu_image_type_t type); void menu_driver_list_cache(menu_list_type_t type, unsigned action);