diff --git a/command_event.c b/command_event.c index 7231fa915c..737426cef0 100644 --- a/command_event.c +++ b/command_event.c @@ -899,6 +899,11 @@ bool event_command(enum event_command cmd) switch (cmd) { + case EVENT_CMD_MENU_REFRESH: +#ifdef HAVE_MENU + menu_driver_ctl(RARCH_MENU_CTL_REFRESH, NULL); +#endif + break; case EVENT_CMD_SET_PER_GAME_RESOLUTION: #if defined(GEKKO) { diff --git a/command_event.h b/command_event.h index 483416e14f..f154f3d41b 100644 --- a/command_event.h +++ b/command_event.h @@ -134,6 +134,7 @@ enum event_command EVENT_CMD_MENU_PAUSE_LIBRETRO, /* Toggles menu on/off. */ EVENT_CMD_MENU_TOGGLE, + EVENT_CMD_MENU_REFRESH, /* Applies shader changes. */ EVENT_CMD_SHADERS_APPLY_CHANGES, /* Initializes shader directory. */ diff --git a/menu/menu_driver.c b/menu/menu_driver.c index c4b30a725d..b063baa629 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -853,6 +853,17 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) driver->toggle(menu_userdata, *latch); } break; + case RARCH_MENU_CTL_REFRESH: + { +#if 0 + bool refresh = false; + menu_entries_ctl(MENU_ENTRIES_CTL_LIST_DEINIT, NULL); + menu_entries_ctl(MENU_ENTRIES_CTL_SETTINGS_DEINIT, NULL); + menu_entries_ctl(MENU_ENTRIES_CTL_INIT, NULL); + menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); +#endif + } + break; default: case RARCH_MENU_CTL_NONE: break; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 5c26597d5a..fe4c01c3cd 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -90,6 +90,7 @@ typedef enum enum rarch_menu_ctl_state { RARCH_MENU_CTL_NONE = 0, + RARCH_MENU_CTL_REFRESH, RARCH_MENU_CTL_NAVIGATION_INCREMENT, RARCH_MENU_CTL_NAVIGATION_DECREMENT, RARCH_MENU_CTL_NAVIGATION_SET, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index b937b580b5..92884aac89 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6563,6 +6563,7 @@ static bool setting_append_list_user_options( true, true); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ALLOW_INPUT); + menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_MENU_REFRESH); (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_user_language;