Refactor menu_action_setting_set

This commit is contained in:
twinaphex 2014-10-28 19:08:18 +01:00
parent d7ffa2b622
commit ff40e97377
1 changed files with 14 additions and 7 deletions

View File

@ -164,8 +164,7 @@ int menu_action_handle_setting(rarch_setting_t *setting,
return 0; return 0;
} }
int menu_action_setting_set(unsigned type, const char *label, static rarch_setting_t *find_setting(void)
unsigned action)
{ {
const file_list_t *list = (const file_list_t*)driver.menu->menu_list->selection_buf; const file_list_t *list = (const file_list_t*)driver.menu->menu_list->selection_buf;
@ -174,13 +173,21 @@ int menu_action_setting_set(unsigned type, const char *label,
rarch_setting_t *setting = (rarch_setting_t*)setting_data_find_setting( rarch_setting_t *setting = (rarch_setting_t*)setting_data_find_setting(
driver.menu->list_settings, list->list[driver.menu->selection_ptr].label); driver.menu->list_settings, list->list[driver.menu->selection_ptr].label);
if (setting) if (!setting)
return menu_action_handle_setting(setting, type, action); {
/* Check if setting belongs to main menu. */
/* Check if setting belongs to main menu. */ setting = (rarch_setting_t*)setting_data_find_setting(
driver.menu->list_mainmenu, list->list[driver.menu->selection_ptr].label);
}
setting = (rarch_setting_t*)setting_data_find_setting( return setting;
driver.menu->list_mainmenu, list->list[driver.menu->selection_ptr].label); }
int menu_action_setting_set(unsigned type, const char *label,
unsigned action)
{
rarch_setting_t *setting = find_setting();
if (setting) if (setting)
return menu_action_handle_setting(setting, type, action); return menu_action_handle_setting(setting, type, action);