diff --git a/menu/menu_input.c b/menu/menu_input.c index a925b411d0..1d44c1b5a1 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -1203,9 +1203,9 @@ void menu_input_post_iterate(int *ret, unsigned action) *ret |= menu_input_pointer_post_iterate(cbs, &entry, action); } -unsigned menu_input_frame_pointer(void) +static unsigned menu_input_frame_pointer(unsigned *data) { - unsigned ret = MENU_ACTION_NOOP; + unsigned ret = *data; settings_t *settings = config_get_ptr(); menu_input_t *menu_input = menu_input_get_ptr(); bool mouse_enabled = settings->menu.mouse.enable; @@ -1341,5 +1341,5 @@ unsigned menu_input_frame_retropad(retro_input_t input, retro_input_t trigger_in } #endif - return ret; + return menu_input_frame_pointer(&ret); } diff --git a/menu/menu_input.h b/menu/menu_input.h index 66c298dfd4..b49446a31d 100644 --- a/menu/menu_input.h +++ b/menu/menu_input.h @@ -124,8 +124,6 @@ void menu_input_st_string_callback(void *userdata, const char *str); void menu_input_st_cheat_callback(void *userdata, const char *str); -unsigned menu_input_frame_pointer(void); - unsigned menu_input_frame_retropad(retro_input_t input, retro_input_t trigger_state, retro_input_t *devices_mask); void menu_input_post_iterate(int *ret, unsigned action); diff --git a/runloop.c b/runloop.c index baa09efbf6..fdd9e63ac5 100644 --- a/runloop.c +++ b/runloop.c @@ -981,17 +981,7 @@ int rarch_main_iterate(unsigned *sleep_ms) #ifdef HAVE_MENU if (menu_driver_alive()) { - int ret2 = 0; - enum menu_action action = (enum menu_action)menu_input_frame_retropad(input, trigger_input, &devices); - /* Process RetroPad */ - int ret = menu_driver_iterate(action); - - action = (enum menu_action)menu_input_frame_pointer(); - - if (action != MENU_ACTION_NOOP) - ret2 = menu_driver_iterate(action); - - if (ret == -1 || ret2 == -1) + if (menu_driver_iterate((enum menu_action)menu_input_frame_retropad(input, trigger_input, &devices)) == -1) rarch_ctl(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED, NULL); if (!input && settings->menu.pause_libretro)