From e52b633e5a40929d7c82fee0e3e7fea3cf390305 Mon Sep 17 00:00:00 2001 From: sonninnos <45124675+sonninnos@users.noreply.github.com> Date: Sun, 20 Nov 2022 19:12:18 +0200 Subject: [PATCH] Allow menu wallpaper/background reset (#14650) --- menu/cbs/menu_cbs_start.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/menu/cbs/menu_cbs_start.c b/menu/cbs/menu_cbs_start.c index 2435ba16b0..aa6e7931bd 100644 --- a/menu/cbs/menu_cbs_start.c +++ b/menu/cbs/menu_cbs_start.c @@ -469,6 +469,25 @@ static int action_start_state_slot( return 0; } +static int action_start_menu_wallpaper( + const char *path, const char *label, + unsigned type, size_t idx, size_t entry_idx) +{ + settings_t *settings = config_get_ptr(); + struct menu_state *menu_st = menu_state_get_ptr(); + + settings->paths.path_menu_wallpaper[0] = '\0'; + + /* Reset wallpaper by menu context reset */ + if (menu_st->driver_ctx && menu_st->driver_ctx->context_reset) + { + menu_st->driver_ctx->context_reset(menu_st->userdata, + video_driver_is_threaded()); + } + + return 0; +} + static int action_start_playlist_sort_mode( const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) @@ -812,6 +831,9 @@ static int menu_cbs_init_bind_start_compare_label(menu_file_list_cbs_t *cbs) case MENU_ENUM_LABEL_STATE_SLOT: BIND_ACTION_START(cbs, action_start_state_slot); break; + case MENU_ENUM_LABEL_MENU_WALLPAPER: + BIND_ACTION_START(cbs, action_start_menu_wallpaper); + break; default: return -1; }