Add RUNLOOP_CTL_GET_CORE_OPTION_SIZE

This commit is contained in:
twinaphex 2015-12-09 09:37:54 +01:00
parent fee5d2a880
commit 3c765e30d3
3 changed files with 12 additions and 1 deletions

View File

@ -3035,7 +3035,9 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
case DISPLAYLIST_CORE_OPTIONS:
if (runloop_ctl(RUNLOOP_CTL_HAS_CORE_OPTIONS, NULL))
{
size_t opts = core_option_size(system->core_options);
size_t opts;
runloop_ctl(RUNLOOP_CTL_GET_CORE_OPTION_SIZE, &opts);
if (settings->game_specific_options)
{

View File

@ -521,6 +521,14 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
sizeof(system->valid_extensions));
system->block_extract = system->info.block_extract;
break;
case RUNLOOP_CTL_GET_CORE_OPTION_SIZE:
{
unsigned *idx = (unsigned*)data;
if (!idx)
return false;
*idx = core_option_size(system->core_options);
}
return true;
case RUNLOOP_CTL_HAS_CORE_OPTIONS:
return system && system->core_options;
case RUNLOOP_CTL_SYSTEM_INFO_FREE:

View File

@ -87,6 +87,7 @@ enum runloop_ctl_state
RUNLOOP_CTL_MSG_QUEUE_UNLOCK,
RUNLOOP_CTL_MSG_QUEUE_FREE,
RUNLOOP_CTL_HAS_CORE_OPTIONS,
RUNLOOP_CTL_GET_CORE_OPTION_SIZE,
RUNLOOP_CTL_IS_CORE_OPTION_UPDATED,
RUNLOOP_CTL_CORE_OPTION_PREV,
RUNLOOP_CTL_CORE_OPTION_NEXT,