Create separate menu_iterate_main_render

This commit is contained in:
twinaphex 2015-08-18 03:59:04 +02:00
parent f190230f85
commit 9ff167c1b9
4 changed files with 29 additions and 15 deletions

View File

@ -101,8 +101,7 @@ bool menu_load_content(enum rarch_core_type type)
disp->msg_force = true; disp->msg_force = true;
menu_iterate_main(MENU_ACTION_NOOP); menu_iterate_main(MENU_ACTION_NOOP);
menu_iterate_main_render();
menu_display_fb();
if (!(main_load_content(0, NULL, NULL, menu_environment_get, if (!(main_load_content(0, NULL, NULL, menu_environment_get,
driver->frontend_ctx->process_args))) driver->frontend_ctx->process_args)))
@ -362,11 +361,6 @@ int menu_iterate(retro_input_t input,
ret = menu_iterate_main(action); ret = menu_iterate_main(action);
if (menu_driver_alive() && !rarch_main_is_idle())
menu_display_fb();
menu_driver_set_texture();
if (ret) if (ret)
return -1; return -1;

View File

@ -179,6 +179,8 @@ int menu_iterate(retro_input_t input,
int menu_iterate_main(unsigned action); int menu_iterate_main(unsigned action);
int menu_iterate_main_render(void);
/** /**
* menu_free: * menu_free:
* @menu : Menu handle. * @menu : Menu handle.

View File

@ -512,6 +512,23 @@ int menu_iterate_main(unsigned action)
break; break;
} }
if (menu->state.do_pop_stack && action == MENU_ACTION_OK)
menu_list_pop(menu_list->menu_stack, menu->state.pop_selected);
if (menu->state.do_post_iterate)
menu_input_post_iterate(&ret, action);
return ret;
}
int menu_iterate_main_render(void)
{
const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
if (!menu)
return -1;
if (menu->state.fb_is_dirty != menu->state.do_messagebox) if (menu->state.fb_is_dirty != menu->state.do_messagebox)
menu->state.fb_is_dirty = true; menu->state.fb_is_dirty = true;
@ -526,18 +543,17 @@ int menu_iterate_main(unsigned action)
if (ui->render_messagebox && menu->state.msg[0] != '\0') if (ui->render_messagebox && menu->state.msg[0] != '\0')
ui->render_messagebox(menu->state.msg); ui->render_messagebox(menu->state.msg);
} }
if (menu->state.do_pop_stack && action == MENU_ACTION_OK)
menu_list_pop(menu_list->menu_stack, menu->state.pop_selected);
if (menu->state.do_post_iterate)
menu_input_post_iterate(&ret, action);
if (menu->state.do_render) if (menu->state.do_render)
{ {
if (driver->render) if (driver->render)
driver->render(); driver->render();
} }
return ret; if (menu_driver_alive() && !rarch_main_is_idle())
menu_display_fb();
menu_driver_set_texture();
return 0;
} }

View File

@ -214,6 +214,8 @@ static void rarch_main_data_menu_iterate(void)
if (rarch_main_data_db_pending_scan_finished()) if (rarch_main_data_db_pending_scan_finished())
menu_environment_cb(MENU_ENVIRON_RESET_HORIZONTAL_LIST, NULL); menu_environment_cb(MENU_ENVIRON_RESET_HORIZONTAL_LIST, NULL);
#endif #endif
menu_iterate_main_render();
} }
#endif #endif