mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Turn core_info_current into static local variable
This commit is contained in:
parent
65eeb3d836
commit
23f1bf63c0
@ -851,8 +851,9 @@ static void event_main_state(unsigned cmd)
|
||||
static bool event_update_system_info(struct retro_system_info *_info,
|
||||
bool *load_no_content)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
core_info_t *core_info = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
#if defined(HAVE_DYNAMIC)
|
||||
if (!(*settings->libretro))
|
||||
@ -864,8 +865,10 @@ static bool event_update_system_info(struct retro_system_info *_info,
|
||||
if (!global->core_info.list)
|
||||
return false;
|
||||
|
||||
runloop_ctl(RUNLOOP_CTL_CURRENT_CORE_GET, &core_info);
|
||||
|
||||
if (!core_info_list_get_info(global->core_info.list,
|
||||
global->core_info.current, settings->libretro))
|
||||
core_info, settings->libretro))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@ -672,7 +672,10 @@ static int zarch_zui_render_lay_root_load(zui_t *zui, zui_tabbed_t *tabbed)
|
||||
|
||||
if (!zui->load_dlist)
|
||||
{
|
||||
zui->load_dlist = dir_list_new(zui->load_cwd, global->core_info.current->supported_extensions, true, true);
|
||||
core_info_t *core_info = NULL;
|
||||
runloop_ctl(RUNLOOP_CTL_CURRENT_CORE_GET, &core_info);
|
||||
|
||||
zui->load_dlist = dir_list_new(zui->load_cwd, core_info->supported_extensions, true, true);
|
||||
dir_list_sort(zui->load_dlist, true);
|
||||
zui->load_dlist_first = 0;
|
||||
}
|
||||
|
@ -161,7 +161,9 @@ static int menu_displaylist_parse_core_info(menu_displaylist_info_t *info)
|
||||
char tmp[PATH_MAX_LENGTH];
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
core_info_t *core_info = global ? (core_info_t*)global->core_info.current : NULL;
|
||||
core_info_t *core_info = NULL;
|
||||
|
||||
runloop_ctl(RUNLOOP_CTL_CURRENT_CORE_GET, &core_info);
|
||||
|
||||
if (!core_info || !core_info->config_data)
|
||||
{
|
||||
|
28
runloop.c
28
runloop.c
@ -478,6 +478,7 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
|
||||
#ifdef HAVE_THREADS
|
||||
static slock_t *runloop_msg_queue_lock = NULL;
|
||||
#endif
|
||||
static core_info_t *core_info_current = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
switch (state)
|
||||
@ -522,32 +523,21 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
|
||||
case RUNLOOP_CTL_HAS_CORE_OPTIONS:
|
||||
return runloop_system.core_options;
|
||||
case RUNLOOP_CTL_CURRENT_CORE_FREE:
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
if (!global)
|
||||
return false;
|
||||
if (global->core_info.current)
|
||||
free(global->core_info.current);
|
||||
global->core_info.current = NULL;
|
||||
}
|
||||
if (core_info_current)
|
||||
free(core_info_current);
|
||||
core_info_current = NULL;
|
||||
return true;
|
||||
case RUNLOOP_CTL_CURRENT_CORE_INIT:
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
if (!global)
|
||||
return false;
|
||||
global->core_info.current = (core_info_t*)calloc(1, sizeof(core_info_t));
|
||||
if (!global->core_info.current)
|
||||
return false;
|
||||
}
|
||||
core_info_current = (core_info_t*)calloc(1, sizeof(core_info_t));
|
||||
if (!core_info_current)
|
||||
return false;
|
||||
return true;
|
||||
case RUNLOOP_CTL_CURRENT_CORE_GET:
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
core_info_t **core = (core_info_t**)data;
|
||||
if (!core || !global)
|
||||
if (!core)
|
||||
return false;
|
||||
*core = global->core_info.current;
|
||||
*core = core_info_current;
|
||||
}
|
||||
return true;
|
||||
case RUNLOOP_CTL_SYSTEM_INFO_GET:
|
||||
|
Loading…
x
Reference in New Issue
Block a user