From 3d68429acad9c9e8dbdbe97f397475c533b18ef9 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 4 Oct 2014 16:20:28 +0200 Subject: [PATCH] Change menu_iterate return value to int --- frontend/menu/menu_common.c | 13 +++++++++---- frontend/menu/menu_common.h | 3 ++- retroarch.c | 4 ++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/frontend/menu/menu_common.c b/frontend/menu/menu_common.c index 8ebd41ebfd..6e9c90f4a8 100644 --- a/frontend/menu/menu_common.c +++ b/frontend/menu/menu_common.c @@ -289,7 +289,12 @@ static unsigned input_frame(uint64_t trigger_state) return MENU_ACTION_NOOP; } -bool menu_iterate(retro_input_t input, +/* Returns: + * 0 - Forcibly wake up the loop. + * -1 - Quit out of iteration loop. + */ + +int menu_iterate(retro_input_t input, retro_input_t old_input, retro_input_t trigger_input) { unsigned action = MENU_ACTION_NOOP; @@ -305,7 +310,7 @@ bool menu_iterate(retro_input_t input, | (1ULL << RETRO_DEVICE_ID_JOYPAD_R); if (!driver.menu) - return false; + return -1; #ifdef HAVE_OVERLAY if (BIND_PRESSED(trigger_input, RARCH_OVERLAY_NEXT)) @@ -361,9 +366,9 @@ bool menu_iterate(retro_input_t input, driver.menu_ctx->input_postprocess(input, old_input); if (ret) - return false; + return -1; - return true; + return 0; } unsigned menu_common_type_is(const char *label, unsigned type) diff --git a/frontend/menu/menu_common.h b/frontend/menu/menu_common.h index 7304f7021c..c6ad2c1501 100644 --- a/frontend/menu/menu_common.h +++ b/frontend/menu/menu_common.h @@ -136,7 +136,8 @@ typedef enum void *menu_init(const void *data); -bool menu_iterate(retro_input_t input, retro_input_t old_input, retro_input_t trigger_input); +int menu_iterate(retro_input_t input, + retro_input_t old_input, retro_input_t trigger_input); void menu_free(void *data); diff --git a/retroarch.c b/retroarch.c index 7804b81ae6..1e39888eda 100644 --- a/retroarch.c +++ b/retroarch.c @@ -3258,10 +3258,10 @@ int rarch_main_iterate(void) if (g_extern.is_menu) { - if (!menu_iterate(input, old_input, trigger_input)) + if (menu_iterate(input, old_input, trigger_input) == -1) rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED); - if ( ! input ) + if (!input) ret = 1; goto success; }