mirror of
https://github.com/libretro/RetroArch.git
synced 2024-06-02 19:57:24 -04:00
Get rid of some menu_driver_ctl commands
This commit is contained in:
parent
6556dc8950
commit
91ea92e50b
|
@ -791,11 +791,13 @@ int cheat_manager_initialize_memory(rarch_setting_t *setting, size_t idx, bool w
|
|||
{
|
||||
unsigned i;
|
||||
retro_ctx_memory_info_t meminfo;
|
||||
bool refresh = false;
|
||||
bool is_search_initialization = (setting != NULL);
|
||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||
unsigned offset = 0;
|
||||
cheat_manager_t *cheat_st = &cheat_manager_state;
|
||||
#ifdef HAVE_MENU
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
cheat_st->num_memory_buffers = 0;
|
||||
cheat_st->total_memory_size = 0;
|
||||
|
@ -940,10 +942,8 @@ int cheat_manager_initialize_memory(rarch_setting_t *setting, size_t idx, bool w
|
|||
|
||||
#ifdef HAVE_MENU
|
||||
if (!wraparound)
|
||||
{
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
}
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -1024,7 +1024,9 @@ static int cheat_manager_search(enum cheat_search_type search_type)
|
|||
unsigned int bits = 8;
|
||||
unsigned int offset = 0;
|
||||
unsigned int i = 0;
|
||||
bool refresh = false;
|
||||
#ifdef HAVE_MENU
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
if (cheat_st->num_memory_buffers == 0)
|
||||
{
|
||||
|
@ -1139,8 +1141,8 @@ static int cheat_manager_search(enum cheat_search_type search_type)
|
|||
runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -1218,7 +1220,6 @@ int cheat_manager_add_matches(const char *path,
|
|||
const char *label, unsigned type, size_t menuidx, size_t entry_idx)
|
||||
{
|
||||
char msg[100];
|
||||
bool refresh = false;
|
||||
unsigned byte_part = 0;
|
||||
unsigned int idx = 0;
|
||||
unsigned int mask = 0;
|
||||
|
@ -1229,6 +1230,9 @@ int cheat_manager_add_matches(const char *path,
|
|||
unsigned int offset = 0;
|
||||
cheat_manager_t *cheat_st = &cheat_manager_state;
|
||||
unsigned char *curr = cheat_st->curr_memory_buf;
|
||||
#ifdef HAVE_MENU
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
if (cheat_st->num_matches + cheat_st->size > 100)
|
||||
{
|
||||
|
@ -1300,10 +1304,9 @@ int cheat_manager_add_matches(const char *path,
|
|||
runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1761,14 +1764,15 @@ int cheat_manager_copy_match(rarch_setting_t *setting, size_t idx, bool wraparou
|
|||
|
||||
int cheat_manager_delete_match(rarch_setting_t *setting, size_t idx, bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
cheat_manager_t *cheat_st = &cheat_manager_state;
|
||||
|
||||
cheat_manager_t *cheat_st = &cheat_manager_state;
|
||||
#ifdef HAVE_MENU
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
cheat_manager_match_action(CHEAT_MATCH_ACTION_TYPE_DELETE,
|
||||
cheat_st->match_idx, NULL, NULL, NULL, NULL);
|
||||
#ifdef HAVE_MENU
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
14
command.c
14
command.c
|
@ -1871,10 +1871,9 @@ void command_event_save_current_config(enum override_type type)
|
|||
|
||||
#ifdef HAVE_MENU
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -1909,10 +1908,9 @@ void command_event_remove_current_config(enum override_type type)
|
|||
|
||||
#ifdef HAVE_MENU
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1727,9 +1727,9 @@ void core_option_manager_set_val(core_option_manager_t *opt,
|
|||
if (retroarch_ctl(RARCH_CTL_CORE_OPTION_UPDATE_DISPLAY, NULL) &&
|
||||
refresh_menu)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -1779,9 +1779,9 @@ void core_option_manager_adjust_val(core_option_manager_t* opt,
|
|||
if (retroarch_ctl(RARCH_CTL_CORE_OPTION_UPDATE_DISPLAY, NULL) &&
|
||||
refresh_menu)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -1825,9 +1825,9 @@ void core_option_manager_set_default(core_option_manager_t *opt,
|
|||
if (retroarch_ctl(RARCH_CTL_CORE_OPTION_UPDATE_DISPLAY, NULL) &&
|
||||
refresh_menu)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -3114,18 +3114,17 @@ const char *video_shader_get_current_shader_preset(void)
|
|||
|
||||
void video_shader_toggle(settings_t *settings)
|
||||
{
|
||||
bool toggle = !settings->bools.video_shader_enable;
|
||||
bool refresh = false;
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
|
||||
shader->flags |= SHDR_FLAG_MODIFIED;
|
||||
bool toggle = !settings->bools.video_shader_enable;
|
||||
bool refresh = false;
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
shader->flags |= SHDR_FLAG_MODIFIED;
|
||||
if (toggle)
|
||||
shader->flags &= ~SHDR_FLAG_DISABLED;
|
||||
shader->flags &= ~SHDR_FLAG_DISABLED;
|
||||
else
|
||||
shader->flags |= SHDR_FLAG_DISABLED;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
shader->flags |= SHDR_FLAG_DISABLED;
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||
|
||||
|
|
|
@ -56,17 +56,13 @@ int action_cancel_pop_default(const char *path,
|
|||
&& menu_driver_search_filter_enabled(menu_label, menu_type)
|
||||
&& menu_entries_search_pop())
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
/* Reset navigation pointer */
|
||||
menu_st->selection_ptr = 0;
|
||||
if (menu_st->driver_ctx->navigation_set)
|
||||
menu_st->driver_ctx->navigation_set(menu_st->userdata, false);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -128,17 +124,13 @@ static int action_cancel_core_content(const char *path,
|
|||
&& menu_entries_search_pop())
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
bool refresh = false;
|
||||
|
||||
/* Reset navigation pointer */
|
||||
menu_st->selection_ptr = 0;
|
||||
if (menu_st->driver_ctx->navigation_set)
|
||||
menu_st->driver_ctx->navigation_set(menu_st->userdata, false);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -355,14 +355,14 @@ static int action_left_shader_filter_default(unsigned type, const char *label,
|
|||
static int action_left_cheat_num_passes(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
unsigned new_size = 0;
|
||||
unsigned cheat_size = cheat_manager_get_size();
|
||||
unsigned new_size = 0;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned cheat_size = cheat_manager_get_size();
|
||||
|
||||
if (cheat_size)
|
||||
new_size = cheat_size - 1;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
return 0;
|
||||
|
@ -373,7 +373,7 @@ static int action_left_cheat_num_passes(unsigned type, const char *label,
|
|||
static int action_left_shader_num_passes(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
unsigned pass_count = shader ? shader->passes : 0;
|
||||
|
||||
|
@ -383,8 +383,8 @@ static int action_left_shader_num_passes(unsigned type, const char *label,
|
|||
if (pass_count > 0)
|
||||
shader->passes--;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
video_shader_resolve_parameters(shader);
|
||||
|
||||
shader->flags |= SHDR_FLAG_MODIFIED;
|
||||
|
|
|
@ -3426,46 +3426,40 @@ static int action_ok_shader_preset_remove_game(const char *path,
|
|||
static int action_ok_video_filter_remove(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_t *settings = config_get_ptr();
|
||||
if (!settings)
|
||||
return -1;
|
||||
|
||||
if (!string_is_empty(settings->paths.path_softfilter_plugin))
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
/* Unload video filter */
|
||||
settings->paths.path_softfilter_plugin[0] = '\0';
|
||||
command_event(CMD_EVENT_REINIT, NULL);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_audio_dsp_plugin_remove(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_t *settings = config_get_ptr();
|
||||
|
||||
if (!settings)
|
||||
return -1;
|
||||
|
||||
if (!string_is_empty(settings->paths.path_audio_dsp_plugin))
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
/* Unload dsp plugin filter */
|
||||
/* Unload DSP plugin filter */
|
||||
settings->paths.path_audio_dsp_plugin[0] = '\0';
|
||||
command_event(CMD_EVENT_DSP_FILTER_INIT, NULL);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -3527,13 +3521,13 @@ static int generic_action_ok_remap_file_operation(const char *path,
|
|||
#ifdef HAVE_CONFIGFILE
|
||||
char content_dir_name[PATH_MAX_LENGTH];
|
||||
char remap_file_path[PATH_MAX_LENGTH];
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||
const char *core_name = system ? system->info.library_name : NULL;
|
||||
const char *rarch_path_basename = path_get(RARCH_PATH_BASENAME);
|
||||
bool has_content = !string_is_empty(rarch_path_basename);
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *directory_input_remapping = settings->paths.directory_input_remapping;
|
||||
bool refresh = false;
|
||||
|
||||
content_dir_name[0] = '\0';
|
||||
remap_file_path[0] = '\0';
|
||||
|
@ -3656,8 +3650,8 @@ static int generic_action_ok_remap_file_operation(const char *path,
|
|||
}
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -4116,7 +4110,7 @@ push_dropdown_list:
|
|||
static int action_ok_cheat_reload_cheats(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *path_cheat_database = settings->paths.path_cheat_database;
|
||||
|
||||
|
@ -4125,8 +4119,8 @@ static int action_ok_cheat_reload_cheats(const char *path,
|
|||
cheat_manager_load_game_specific_cheats(
|
||||
path_cheat_database);
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
@ -4166,13 +4160,13 @@ static int action_ok_cheat_add_top(const char *path,
|
|||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
int i;
|
||||
struct item_cheat tmp;
|
||||
char msg[256];
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct item_cheat tmp;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1],
|
||||
|
@ -4201,11 +4195,11 @@ static int action_ok_cheat_add_bottom(const char *path,
|
|||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
char msg[256];
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
strlcpy(msg,
|
||||
|
@ -4222,15 +4216,15 @@ static int action_ok_cheat_delete_all(const char *path,
|
|||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
char msg[256];
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
cheat_manager_state.delete_state = 0;
|
||||
cheat_manager_realloc(0, CHEAT_HANDLER_TYPE_EMU);
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
strlcpy(msg,
|
||||
msg_hash_to_str(MSG_CHEAT_DELETE_ALL_SUCCESS), sizeof(msg));
|
||||
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_DELETE_ALL_SUCCESS),
|
||||
sizeof(msg));
|
||||
msg[sizeof(msg) - 1] = 0;
|
||||
|
||||
runloop_msg_queue_push(msg, 1, 180, true, NULL,
|
||||
|
@ -4245,8 +4239,8 @@ static int action_ok_cheat_add_new_after(const char *path,
|
|||
int i;
|
||||
char msg[256];
|
||||
struct item_cheat tmp;
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
|
@ -4262,8 +4256,8 @@ static int action_ok_cheat_add_new_after(const char *path,
|
|||
|
||||
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat));
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_ADD_AFTER_SUCCESS), sizeof(msg));
|
||||
msg[sizeof(msg) - 1] = 0;
|
||||
|
@ -4279,8 +4273,8 @@ static int action_ok_cheat_add_new_before(const char *path,
|
|||
int i;
|
||||
char msg[256];
|
||||
struct item_cheat tmp;
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
|
@ -4298,8 +4292,8 @@ static int action_ok_cheat_add_new_before(const char *path,
|
|||
memcpy(&cheat_manager_state.working_cheat,
|
||||
&tmp, sizeof(struct item_cheat));
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_ADD_BEFORE_SUCCESS), sizeof(msg));
|
||||
msg[sizeof(msg) - 1] = 0;
|
||||
|
@ -4315,8 +4309,8 @@ static int action_ok_cheat_copy_before(const char *path,
|
|||
int i;
|
||||
struct item_cheat tmp;
|
||||
char msg[256];
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
|
||||
|
||||
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx], sizeof(struct item_cheat));
|
||||
|
@ -4335,8 +4329,8 @@ static int action_ok_cheat_copy_before(const char *path,
|
|||
memcpy(&cheat_manager_state.cheats[tmp.idx], &tmp, sizeof(struct item_cheat));
|
||||
memcpy(&cheat_manager_state.working_cheat, &tmp, sizeof(struct item_cheat));
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_COPY_BEFORE_SUCCESS), sizeof(msg));
|
||||
msg[sizeof(msg) - 1] = 0;
|
||||
|
@ -4352,8 +4346,8 @@ static int action_ok_cheat_copy_after(const char *path,
|
|||
int i;
|
||||
struct item_cheat tmp;
|
||||
char msg[256];
|
||||
bool refresh = false;
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned int new_size = cheat_manager_get_size() + 1;
|
||||
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
|
||||
|
||||
|
@ -4372,8 +4366,8 @@ static int action_ok_cheat_copy_after(const char *path,
|
|||
|
||||
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat ));
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_COPY_AFTER_SUCCESS), sizeof(msg));
|
||||
msg[sizeof(msg) - 1] = 0;
|
||||
|
@ -4685,10 +4679,9 @@ static int action_ok_core_updater_list(const char *path,
|
|||
else
|
||||
#endif
|
||||
{
|
||||
bool refresh = true;
|
||||
|
||||
/* Initial setup... */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NONBLOCKING_REFRESH;
|
||||
generic_action_ok_command(CMD_EVENT_NETWORK_INIT);
|
||||
|
||||
/* Push core list update task */
|
||||
|
@ -5322,56 +5315,44 @@ DEFAULT_ACTION_OK_DOWNLOAD(action_ok_update_autoconfig_profiles, MENU_ENUM_LABEL
|
|||
static int action_ok_game_specific_core_options_create(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
core_options_create_override(true);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_folder_specific_core_options_create(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
core_options_create_override(false);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_game_specific_core_options_remove(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
core_options_remove_override(true);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int action_ok_folder_specific_core_options_remove(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
core_options_remove_override(false);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -5413,7 +5394,7 @@ int action_ok_close_content(const char *path, const char *label, unsigned type,
|
|||
const char *flush_target = msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU);
|
||||
file_list_t *list = NULL;
|
||||
if (menu_st->entries.list)
|
||||
list = MENU_LIST_GET(menu_st->entries.list, 0);
|
||||
list = MENU_LIST_GET(menu_st->entries.list, 0);
|
||||
if (list && (list->size > 1))
|
||||
{
|
||||
parent_label = list->list[list->size - 2].label;
|
||||
|
@ -5424,12 +5405,12 @@ int action_ok_close_content(const char *path, const char *label, unsigned type,
|
|||
}
|
||||
|
||||
menu_entries_flush_stack(flush_target, 0);
|
||||
/* An annoyance - some menu drivers (Ozone...) call
|
||||
* RARCH_MENU_CTL_SET_PREVENT_POPULATE in awkward
|
||||
* places, which can cause breakage here when flushing
|
||||
* the menu stack. We therefore have to force a
|
||||
* RARCH_MENU_CTL_UNSET_PREVENT_POPULATE */
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
/* An annoyance - some menu drivers (Ozone...) set
|
||||
* MENU_ST_FLAG_PREVENT_POPULATE in awkward places,
|
||||
* which can cause breakage here when flushing
|
||||
* the menu stack. We therefore have to unset
|
||||
* MENU_ST_FLAG_PREVENT_POPULATE */
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -6041,9 +6022,8 @@ static void wifi_menu_refresh_callback(retro_task_t *task,
|
|||
void *task_data,
|
||||
void *user_data, const char *error)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
static int action_ok_wifi_disconnect(const char *path,
|
||||
|
@ -6087,9 +6067,9 @@ static void netplay_refresh_rooms_cb(retro_task_t *task, void *task_data,
|
|||
const char *label = NULL;
|
||||
unsigned menu_type = 0;
|
||||
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
|
||||
bool refresh = false;
|
||||
http_transfer_data_t *data = (http_transfer_data_t*)task_data;
|
||||
net_driver_state_t *net_st = networking_state_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
free(net_st->room_list);
|
||||
net_st->room_list = NULL;
|
||||
|
@ -6146,8 +6126,8 @@ static void netplay_refresh_rooms_cb(retro_task_t *task, void *task_data,
|
|||
free(room_data);
|
||||
|
||||
done:
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
static int action_ok_push_netplay_refresh_rooms(const char *path,
|
||||
|
@ -6167,10 +6147,10 @@ static void netplay_refresh_lan_cb(const void *data)
|
|||
const char *label = NULL;
|
||||
unsigned menu_type = 0;
|
||||
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
|
||||
bool refresh = false;
|
||||
const struct netplay_host_list *hosts =
|
||||
(const struct netplay_host_list*)data;
|
||||
net_driver_state_t *net_st = networking_state_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
free(net_st->room_list);
|
||||
net_st->room_list = NULL;
|
||||
|
@ -6221,8 +6201,8 @@ static void netplay_refresh_lan_cb(const void *data)
|
|||
}
|
||||
|
||||
done:
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
static int action_ok_push_netplay_refresh_lan(const char *path,
|
||||
|
@ -6870,7 +6850,6 @@ static int action_ok_push_dropdown_item_input_select_physical_keyboard(const cha
|
|||
const char *keyboard_name;
|
||||
enum msg_hash_enums enum_idx;
|
||||
rarch_setting_t *setting = NULL;
|
||||
bool refresh = false;
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *menu_path = NULL;
|
||||
menu_entries_get_last_stack(&menu_path, NULL, NULL, NULL, NULL);
|
||||
|
@ -6912,8 +6891,8 @@ static int action_ok_push_dropdown_item_input_select_physical_keyboard(const cha
|
|||
command_event(CMD_EVENT_REINIT, NULL);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
return action_cancel_pop_default(NULL, NULL, 0, 0);
|
||||
}
|
||||
|
@ -7608,20 +7587,16 @@ static int action_ok_core_restore_backup(const char *path,
|
|||
static int action_ok_core_delete_backup(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
const char *backup_path = label;
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
const char *backup_path = label;
|
||||
if (string_is_empty(backup_path))
|
||||
return -1;
|
||||
|
||||
/* Delete backup file (if it exists) */
|
||||
if (path_is_valid(backup_path))
|
||||
filestream_delete(backup_path);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -7630,10 +7605,10 @@ static int action_ok_core_delete_backup(const char *path,
|
|||
int action_ok_core_lock(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
const char *core_path = path;
|
||||
bool lock = false;
|
||||
bool refresh = false;
|
||||
int ret = 0;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
const char *core_path = path;
|
||||
bool lock = false;
|
||||
int ret = 0;
|
||||
|
||||
if (string_is_empty(core_path))
|
||||
return -1;
|
||||
|
@ -7684,8 +7659,8 @@ int action_ok_core_lock(const char *path,
|
|||
* refreshed - do this even in the event of an error,
|
||||
* since we don't want to leave the menu in an
|
||||
* undefined state */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -130,17 +130,13 @@ int action_right_cheat(unsigned type, const char *label,
|
|||
static int action_right_cheat_num_passes(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
unsigned new_size = 0;
|
||||
|
||||
new_size = cheat_manager_get_size() + 1;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
unsigned new_size = cheat_manager_get_size() + 1;
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_EMU);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static int action_right_input_desc_kbd(unsigned type, const char *label,
|
||||
|
@ -390,7 +386,7 @@ static int action_right_shader_filter_default(unsigned type, const char *label,
|
|||
static int action_right_shader_num_passes(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
unsigned pass_count = shader ? shader->passes : 0;
|
||||
|
||||
|
@ -400,8 +396,8 @@ static int action_right_shader_num_passes(unsigned type, const char *label,
|
|||
if (pass_count < GFX_MAX_SHADERS)
|
||||
shader->passes++;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
video_shader_resolve_parameters(shader);
|
||||
|
||||
shader->flags |= SHDR_FLAG_MODIFIED;
|
||||
|
@ -800,19 +796,18 @@ static int manual_content_scan_core_name_right(unsigned type, const char *label,
|
|||
static int cpu_policy_mode_change(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
enum cpu_scaling_mode mode = get_cpu_scaling_mode(NULL);
|
||||
if (mode != CPUSCALING_MANUAL)
|
||||
mode++;
|
||||
set_cpu_scaling_mode(mode, NULL);
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cpu_policy_freq_managed_tweak(unsigned type, const char *label,
|
||||
bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
cpu_scaling_opts_t opts;
|
||||
enum cpu_scaling_mode mode = get_cpu_scaling_mode(&opts);
|
||||
|
||||
|
|
|
@ -86,19 +86,19 @@ static int action_start_remap_file_info(
|
|||
const char *path, const char *label,
|
||||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *directory_input_remapping = settings ?
|
||||
settings->paths.directory_input_remapping : NULL;
|
||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||
bool refresh = false;
|
||||
|
||||
input_remapping_deinit(false);
|
||||
input_remapping_set_defaults(false);
|
||||
config_load_remap(directory_input_remapping, system);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -107,15 +107,12 @@ static int action_start_override_file_info(
|
|||
const char *path, const char *label,
|
||||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||
config_load_override(system);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -124,13 +121,11 @@ static int action_start_shader_preset(
|
|||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
|
||||
bool refresh = false;
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
|
||||
shader->passes = 0;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
shader->passes = 0;
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -141,13 +136,11 @@ static int action_start_shader_preset_prepend(
|
|||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
|
||||
bool refresh = false;
|
||||
struct video_shader* shader = menu_shader_get();
|
||||
|
||||
shader->passes = 0;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct video_shader* shader = menu_shader_get();
|
||||
shader->passes = 0;
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -158,13 +151,11 @@ static int action_start_shader_preset_append(
|
|||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
|
||||
bool refresh = false;
|
||||
struct video_shader* shader = menu_shader_get();
|
||||
|
||||
shader->passes = 0;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct video_shader* shader = menu_shader_get();
|
||||
shader->passes = 0;
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -181,15 +172,14 @@ static int action_start_video_filter_file_load(
|
|||
|
||||
if (!string_is_empty(settings->paths.path_softfilter_plugin))
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
/* Unload video filter */
|
||||
settings->paths.path_softfilter_plugin[0] = '\0';
|
||||
command_event(CMD_EVENT_REINIT, NULL);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -206,15 +196,14 @@ static int action_start_audio_dsp_plugin_file_load(
|
|||
|
||||
if (!string_is_empty(settings->paths.path_audio_dsp_plugin))
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
/* Unload dsp plugin filter */
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
/* Unload DSP plugin filter */
|
||||
settings->paths.path_audio_dsp_plugin[0] = '\0';
|
||||
command_event(CMD_EVENT_DSP_FILTER_INIT, NULL);
|
||||
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -642,12 +631,11 @@ static int action_start_load_core(
|
|||
const char *path, const char *label,
|
||||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
int ret = generic_action_ok_command(
|
||||
CMD_EVENT_UNLOAD_CORE);
|
||||
bool refresh = false;
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -687,9 +675,9 @@ static int action_start_core_lock(
|
|||
const char *path, const char *label,
|
||||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
const char *core_path = path;
|
||||
bool refresh = false;
|
||||
int ret = 0;
|
||||
const char *core_path = path;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
int ret = 0;
|
||||
|
||||
if (string_is_empty(core_path))
|
||||
return -1;
|
||||
|
@ -737,8 +725,8 @@ static int action_start_core_lock(
|
|||
* refreshed - do this even in the event of an error,
|
||||
* since we don't want to leave the menu in an
|
||||
* undefined state */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -8638,8 +8638,9 @@ static void materialui_populate_entries(
|
|||
void *data, const char *path,
|
||||
const char *label, unsigned i)
|
||||
{
|
||||
materialui_handle_t *mui = (materialui_handle_t*)data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
materialui_handle_t *mui = (materialui_handle_t*)data;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!mui || !settings)
|
||||
return;
|
||||
|
@ -8793,8 +8794,8 @@ static void materialui_populate_entries(
|
|||
* (i.e. if we *did* reset the entry indices, the
|
||||
* selection pointer would incorrectly 'jump' from
|
||||
* the current selection to the top of the list) */
|
||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
if ((menu_st->flags & MENU_ST_FLAG_PREVENT_POPULATE) > 0)
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
else
|
||||
{
|
||||
mui->first_onscreen_entry = 0;
|
||||
|
@ -8854,7 +8855,8 @@ static int materialui_environ(enum menu_environ_cb type,
|
|||
break;
|
||||
case MENU_ENVIRON_RESET_HORIZONTAL_LIST:
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
/* Reset playlist icon list */
|
||||
materialui_context_destroy_playlist_icons(mui);
|
||||
materialui_refresh_playlist_icon_list(mui,
|
||||
|
@ -8868,11 +8870,8 @@ static int materialui_environ(enum menu_environ_cb type,
|
|||
* the menu must be refreshed (since icon indices
|
||||
* may have changed) */
|
||||
if (mui->flags & MUI_FLAG_IS_PLAYLIST_TAB)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
}
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
}
|
||||
break;
|
||||
case MENU_ENVIRON_ENABLE_SCREENSAVER:
|
||||
|
|
|
@ -5028,12 +5028,14 @@ static void ozone_refresh_horizontal_list(
|
|||
ozone_handle_t *ozone,
|
||||
settings_t *settings)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
ozone_context_destroy_horizontal_list(ozone);
|
||||
ozone_free_list_nodes(&ozone->horizontal_list, false);
|
||||
file_list_deinitialize(&ozone->horizontal_list);
|
||||
RHMAP_FREE(ozone->playlist_db_node_map);
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
ozone->horizontal_list.list = NULL;
|
||||
ozone->horizontal_list.capacity = 0;
|
||||
|
@ -8629,6 +8631,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
|||
settings_t *settings = config_get_ptr();
|
||||
gfx_animation_t *p_anim = anim_get_ptr();
|
||||
gfx_display_t *p_disp = disp_get_ptr();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
||||
const char *directory_assets = settings->paths.directory_assets;
|
||||
|
||||
|
@ -8735,7 +8738,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
|||
for (i = 0; i < OZONE_TAB_MAX_LENGTH; i++)
|
||||
ozone->tab_selection[i] = 0;
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
/* TODO/FIXME - we don't use framebuffer at all
|
||||
* for Ozone, we should refactor this dependency
|
||||
|
@ -11887,9 +11890,9 @@ static void ozone_populate_entries(
|
|||
settings = config_get_ptr();
|
||||
ozone_collapse_sidebar = settings->bools.ozone_collapse_sidebar;
|
||||
|
||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
||||
if ((menu_st->flags & MENU_ST_FLAG_PREVENT_POPULATE) > 0)
|
||||
{
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
ozone_selection_changed(ozone, false);
|
||||
|
||||
/* Refresh title for search terms */
|
||||
|
@ -12149,6 +12152,7 @@ static void ozone_populate_entries(
|
|||
static void ozone_toggle(void *userdata, bool menu_on)
|
||||
{
|
||||
settings_t *settings = NULL;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
ozone_handle_t *ozone = (ozone_handle_t*) userdata;
|
||||
|
||||
if (!ozone)
|
||||
|
@ -12159,7 +12163,6 @@ static void ozone_toggle(void *userdata, bool menu_on)
|
|||
* 'save state' option */
|
||||
if (ozone->is_quick_menu)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
ozone->flags &= ~(OZONE_FLAG_WANT_THUMBNAIL_BAR
|
||||
| OZONE_FLAG_SKIP_THUMBNAIL_RESET);
|
||||
gfx_thumbnail_reset(&ozone->thumbnails.savestate);
|
||||
|
@ -12167,11 +12170,11 @@ static void ozone_toggle(void *userdata, bool menu_on)
|
|||
ozone_update_savestate_thumbnail_image(ozone);
|
||||
}
|
||||
|
||||
settings = config_get_ptr();
|
||||
settings = config_get_ptr();
|
||||
if (menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL))
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
else
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
if (ozone->depth == 1)
|
||||
{
|
||||
|
|
|
@ -5013,10 +5013,8 @@ static void rgui_render(
|
|||
/* Refresh current menu, if required */
|
||||
if (rgui->flags & RGUI_FLAG_FORCE_MENU_REFRESH)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
/* Menu entries may change as a result of the
|
||||
* refresh; skip rendering of the 'obsolete'
|
||||
* menu this frame, and force a redraw of the
|
||||
|
|
|
@ -2570,13 +2570,15 @@ static void xmb_context_reset_horizontal_list(
|
|||
|
||||
static void xmb_refresh_horizontal_list(xmb_handle_t *xmb)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
xmb_context_destroy_horizontal_list(xmb);
|
||||
|
||||
xmb_free_list_nodes(&xmb->horizontal_list, false);
|
||||
file_list_deinitialize(&xmb->horizontal_list);
|
||||
RHMAP_FREE(xmb->playlist_db_node_map);
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
xmb_init_horizontal_list(xmb);
|
||||
|
||||
|
@ -2780,10 +2782,10 @@ static void xmb_populate_entries(void *data,
|
|||
}
|
||||
#endif
|
||||
|
||||
if (menu_driver_ctl(RARCH_MENU_CTL_IS_PREVENT_POPULATE, NULL))
|
||||
if ((menu_st->flags & MENU_ST_FLAG_PREVENT_POPULATE) > 0)
|
||||
{
|
||||
xmb_selection_pointer_changed(xmb, false);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
/* Refresh title for search terms */
|
||||
xmb_set_title(xmb);
|
||||
|
@ -6667,6 +6669,7 @@ static void *xmb_init(void **userdata, bool video_is_threaded)
|
|||
gfx_animation_t *p_anim = anim_get_ptr();
|
||||
gfx_display_t *p_disp = disp_get_ptr();
|
||||
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
if (!menu)
|
||||
return NULL;
|
||||
|
||||
|
@ -6737,7 +6740,7 @@ static void *xmb_init(void **userdata, bool video_is_threaded)
|
|||
xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_EXPLORE;
|
||||
#endif
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
/* TODO/FIXME - we don't use framebuffer at all
|
||||
* for XMB, we should refactor this dependency
|
||||
|
@ -7755,13 +7758,14 @@ static void xmb_context_destroy(void *data)
|
|||
static void xmb_toggle(void *userdata, bool menu_on)
|
||||
{
|
||||
gfx_animation_ctx_entry_t entry;
|
||||
bool tmp = false;
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)userdata;
|
||||
bool tmp = false;
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)userdata;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
|
||||
if (!xmb)
|
||||
return;
|
||||
|
||||
xmb->depth = (int)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
||||
xmb->depth = (int)xmb_list_get_size(xmb, MENU_LIST_PLAIN);
|
||||
|
||||
if (!menu_on)
|
||||
{
|
||||
|
@ -7793,9 +7797,9 @@ static void xmb_toggle(void *userdata, bool menu_on)
|
|||
tmp = !menu_entries_ctl(MENU_ENTRIES_CTL_NEEDS_REFRESH, NULL);
|
||||
|
||||
if (tmp)
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
else
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
xmb_toggle_horizontal_list(xmb);
|
||||
}
|
||||
|
|
|
@ -59,9 +59,6 @@ enum rarch_menu_ctl_state
|
|||
RARCH_MENU_CTL_NONE = 0,
|
||||
RARCH_MENU_CTL_SET_PENDING_QUICK_MENU,
|
||||
RARCH_MENU_CTL_DEINIT,
|
||||
RARCH_MENU_CTL_SET_PREVENT_POPULATE,
|
||||
RARCH_MENU_CTL_UNSET_PREVENT_POPULATE,
|
||||
RARCH_MENU_CTL_IS_PREVENT_POPULATE,
|
||||
RARCH_MENU_CTL_POINTER_DOWN,
|
||||
RARCH_MENU_CTL_POINTER_UP,
|
||||
RARCH_MENU_CTL_OSK_PTR_AT_POS,
|
||||
|
|
|
@ -5680,9 +5680,9 @@ static void wifi_scan_callback(retro_task_t *task,
|
|||
void *task_data,
|
||||
void *user_data, const char *error)
|
||||
{
|
||||
bool refresh = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4101,20 +4101,19 @@ static void menu_input_search_cb(void *userdata, const char *str)
|
|||
/* Do not apply search filter if string
|
||||
* consists of a single Latin alphabet
|
||||
* character */
|
||||
if (((str[1] != '\0') || (!ISALPHA(str[0]))) &&
|
||||
menu_driver_search_filter_enabled(label, type))
|
||||
if ( ((str[1] != '\0') || (!ISALPHA(str[0])))
|
||||
&& menu_driver_search_filter_enabled(label, type))
|
||||
{
|
||||
/* Add search term */
|
||||
if (menu_entries_search_push(str))
|
||||
{
|
||||
bool refresh = false;
|
||||
/* Reset navigation pointer */
|
||||
menu_st->selection_ptr = 0;
|
||||
menu_st->selection_ptr = 0;
|
||||
if (menu_st->driver_ctx->navigation_set)
|
||||
menu_st->driver_ctx->navigation_set(menu_st->userdata, false);
|
||||
/* Refresh menu */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
}
|
||||
}
|
||||
/* Perform a regular search: jump to the
|
||||
|
@ -6539,14 +6538,6 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
|||
menu_st->flags |= MENU_ST_FLAG_PENDING_QUICK_MENU;
|
||||
}
|
||||
break;
|
||||
case RARCH_MENU_CTL_SET_PREVENT_POPULATE:
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
break;
|
||||
case RARCH_MENU_CTL_UNSET_PREVENT_POPULATE:
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
break;
|
||||
case RARCH_MENU_CTL_IS_PREVENT_POPULATE:
|
||||
return ((menu_st->flags & MENU_ST_FLAG_PREVENT_POPULATE) > 0);
|
||||
case RARCH_MENU_CTL_DEINIT:
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->context_destroy)
|
||||
|
@ -6753,11 +6744,12 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
|||
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
|
||||
struct video_shader *menu_shader_get(void)
|
||||
{
|
||||
video_driver_state_t
|
||||
*video_st = video_state_get_ptr();
|
||||
if (video_shader_any_supported())
|
||||
{
|
||||
video_driver_state_t *video_st = video_state_get_ptr();
|
||||
if (video_st)
|
||||
return video_st->menu_driver_shader;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -7812,12 +7804,12 @@ int generic_menu_entry_action(
|
|||
command_event(CMD_EVENT_UNLOAD_CORE, NULL);
|
||||
|
||||
menu_entries_flush_stack(flush_target, 0);
|
||||
/* An annoyance - some menu drivers (Ozone...) call
|
||||
* RARCH_MENU_CTL_SET_PREVENT_POPULATE in awkward
|
||||
/* An annoyance - some menu drivers (Ozone...) set
|
||||
* MENU_ST_FLAG_PREVENT_POPULATE in awkward
|
||||
* places, which can cause breakage here when flushing
|
||||
* the menu stack. We therefore have to force a
|
||||
* RARCH_MENU_CTL_UNSET_PREVENT_POPULATE */
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
|
||||
* the menu stack. We therefore have to unset
|
||||
* MENU_ST_FLAG_PREVENT_POPULATE */
|
||||
menu_st->flags &= ~MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
|
||||
/* Ozone requires thumbnail refreshing */
|
||||
menu_driver_ctl(RARCH_MENU_CTL_REFRESH_THUMBNAIL_IMAGE, &i);
|
||||
|
|
|
@ -761,14 +761,11 @@ int setting_uint_action_right_default(
|
|||
int setting_bool_action_right_with_refresh(
|
||||
rarch_setting_t *setting, size_t idx, bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
setting_set_with_string_representation(setting,
|
||||
*setting->value.target.boolean ? "false" : "true");
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -7435,9 +7432,9 @@ static int setting_action_right_libretro_device_type(
|
|||
static int setting_action_right_input_remap_port(
|
||||
rarch_setting_t *setting, size_t idx, bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
unsigned port = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
unsigned port = 0;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!setting)
|
||||
return -1;
|
||||
|
@ -7458,8 +7455,8 @@ static int setting_action_right_input_remap_port(
|
|||
* ports are set to 'RETRO_DEVICE_NONE' */
|
||||
command_event(CMD_EVENT_CONTROLLER_INIT, NULL);
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_PREVENT_POPULATE
|
||||
| MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
25
retroarch.c
25
retroarch.c
|
@ -3803,7 +3803,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||
if (disk_control_enabled(&sys_info->disk_control))
|
||||
{
|
||||
#if defined(HAVE_MENU)
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
/* Get initial disk eject state */
|
||||
bool initial_disk_ejected = disk_control_get_eject_state(&sys_info->disk_control);
|
||||
#endif
|
||||
|
@ -3817,10 +3817,8 @@ bool command_event(enum event_command cmd, void *data)
|
|||
* must refresh the disk options menu */
|
||||
if (initial_disk_ejected != disk_control_get_eject_state(
|
||||
&sys_info->disk_control))
|
||||
{
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
}
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
return success;
|
||||
}
|
||||
|
@ -3840,13 +3838,16 @@ bool command_event(enum event_command cmd, void *data)
|
|||
|
||||
if (disk_control_enabled(&sys_info->disk_control))
|
||||
{
|
||||
bool *show_msg = (bool*)data;
|
||||
bool eject = !disk_control_get_eject_state(&sys_info->disk_control);
|
||||
bool verbose = true;
|
||||
bool refresh = false;
|
||||
bool *show_msg = (bool*)data;
|
||||
bool eject = !disk_control_get_eject_state(
|
||||
&sys_info->disk_control);
|
||||
bool verbose = true;
|
||||
#if defined(HAVE_MENU)
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
if (show_msg)
|
||||
verbose = *show_msg;
|
||||
verbose = *show_msg;
|
||||
|
||||
disk_control_set_eject_state(
|
||||
&sys_info->disk_control, eject, verbose);
|
||||
|
@ -3854,8 +3855,8 @@ bool command_event(enum event_command cmd, void *data)
|
|||
#if defined(HAVE_MENU)
|
||||
/* It is necessary to refresh the disk options
|
||||
* menu when toggling the tray state */
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
|
|
|
@ -107,9 +107,9 @@ static void cb_task_menu_explore_init(
|
|||
|
||||
if (menu_type == MENU_EXPLORE_TAB)
|
||||
{
|
||||
bool refresh_nonblocking = false;
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh_nonblocking);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1011,30 +1011,26 @@ void CoreOptionsDialog::reload()
|
|||
void CoreOptionsDialog::onSaveGameSpecificOptions()
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
if (!core_options_create_override(true))
|
||||
QMessageBox::critical(this, msg_hash_to_str(MSG_ERROR), msg_hash_to_str(MSG_ERROR_SAVING_CORE_OPTIONS_FILE));
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void CoreOptionsDialog::onSaveFolderSpecificOptions()
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
bool refresh = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
#endif
|
||||
|
||||
if (!core_options_create_override(false))
|
||||
QMessageBox::critical(this, msg_hash_to_str(MSG_ERROR), msg_hash_to_str(MSG_ERROR_SAVING_CORE_OPTIONS_FILE));
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH
|
||||
| MENU_ST_FLAG_PREVENT_POPULATE;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue