From f86ad85fcd187044e7951cd95cbc949800efefc6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 4 Oct 2014 13:41:57 +0200 Subject: [PATCH] Use -1 for indicating we want to exit out of rarch_main_iterate --- frontend/frontend.c | 2 +- retroarch.c | 31 +++++++++++++++++++------------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/frontend/frontend.c b/frontend/frontend.c index 26fe06c8ef..3bce076d06 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -56,7 +56,7 @@ int main_entry_decide(signature(), args_type() args) { - if (rarch_main_iterate()) + if (rarch_main_iterate() == -1) { if (g_extern.core_shutdown_initiated && g_settings.load_dummy_on_core_shutdown) diff --git a/retroarch.c b/retroarch.c index 31bf2409ba..301120e9a8 100644 --- a/retroarch.c +++ b/retroarch.c @@ -3217,9 +3217,23 @@ static int do_menu_oneshot( } #endif +static inline int time_to_exit(retro_input_t input) +{ + if ( + g_extern.system.shutdown + || check_quit_key_func(input) + || (g_extern.max_frames && g_extern.frame_count >= + g_extern.max_frames) + || (g_extern.bsv.movie_end && g_extern.bsv.eof_exit) + || !driver.video->alive(driver.video_data) + ) + return 1; + return 0; +} + /* Returns: - * 0 - Successful iteration. - * 1 - Quit of iteration loop. + * 0 - Successful iteration. + * -1 - Quit out of iteration loop. */ int rarch_main_iterate(void) { @@ -3241,15 +3255,8 @@ int rarch_main_iterate(void) trigger_input = input & ~old_input; - /* Time to drop? */ - if ( - g_extern.system.shutdown || - check_quit_key_func(input) || - (g_extern.max_frames && - g_extern.frame_count >= g_extern.max_frames) || - (g_extern.bsv.movie_end && g_extern.bsv.eof_exit) || - !driver.video->alive(driver.video_data)) - return 1; + if (time_to_exit(input)) + return -1; if (g_extern.system.frame_time.callback) update_frame_time(); @@ -3265,7 +3272,7 @@ int rarch_main_iterate(void) if (g_extern.exec) { g_extern.exec = false; - return 1; + return -1; } if (do_state_checks(input, old_input, trigger_input))