From a1226004f55cb71d5995379b67a6f426d3e6e996 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 28 Nov 2015 03:05:37 +0100 Subject: [PATCH] Revert "Don't render menu if unfocused - reimplement this" This reverts commit ce7ec0681b8927ae404613bddacfae26e1680e3c. --- frontend/drivers/platform_linux.c | 9 ++++----- frontend/frontend.c | 7 +++---- menu/cbs/menu_cbs_select.c | 2 +- runloop.c | 5 ++--- runloop.h | 2 +- runloop_data.c | 4 ++-- runloop_data.h | 2 +- ui/drivers/ui_cocoa.m | 11 +++++------ ui/drivers/ui_cocoatouch.m | 5 ++--- 9 files changed, 21 insertions(+), 26 deletions(-) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 47efb91c53..ea4e0ba99f 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -733,17 +733,16 @@ static void android_app_entry(void *data) #ifndef HAVE_MAIN do { - bool sleeping = false; - unsigned unfocused = 0; - unsigned sleep_ms = 0; - ret = rarch_main_iterate(&unfocused, &sleep_ms); + bool sleeping = false; + unsigned sleep_ms = 0; + ret = rarch_main_iterate(&sleep_ms); if (ret == 1 && sleep_ms > 0) { sleeping = true; retro_sleep(sleep_ms); } - rarch_main_data_iterate(unfocused, sleeping); + rarch_main_data_iterate(sleeping); }while (ret != -1); main_exit(data); diff --git a/frontend/frontend.c b/frontend/frontend.c index c60b9de712..4d83c9a52d 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -325,16 +325,15 @@ int rarch_main(int argc, char *argv[], void *data) do { bool sleeping = false; - unsigned unfocused = 0; - unsigned sleep_ms = 0; - ret = rarch_main_iterate(&unfocused, &sleep_ms); + unsigned sleep_ms = 0; + ret = rarch_main_iterate(&sleep_ms); if (ret == 1 && sleep_ms > 0) { sleeping = true; retro_sleep(sleep_ms); } - rarch_main_data_iterate(unfocused, sleeping); + rarch_main_data_iterate(sleeping); }while(ret != -1); main_exit(args); diff --git a/menu/cbs/menu_cbs_select.c b/menu/cbs/menu_cbs_select.c index 583239a787..d997ec5905 100644 --- a/menu/cbs/menu_cbs_select.c +++ b/menu/cbs/menu_cbs_select.c @@ -78,7 +78,7 @@ static int action_select_default(const char *path, const char *label, unsigned t if (action != MENU_ACTION_NOOP) ret = menu_entry_action(&entry, idx, action); - rarch_main_data_iterate(false, false); + rarch_main_data_iterate(false); return ret; } diff --git a/runloop.c b/runloop.c index f1659dfce9..9404adb7f8 100644 --- a/runloop.c +++ b/runloop.c @@ -828,7 +828,7 @@ static INLINE int rarch_main_iterate_time_to_exit(event_cmd_state_t *cmd) * Returns: 0 on success, 1 if we have to wait until button input in order * to wake up the loop, -1 if we forcibly quit out of the RetroArch iteration loop. **/ -int rarch_main_iterate(unsigned *unfocused, unsigned *sleep_ms) +int rarch_main_iterate(unsigned *sleep_ms) { int ret; unsigned i; @@ -933,8 +933,7 @@ int rarch_main_iterate(unsigned *unfocused, unsigned *sleep_ms) if (!rarch_main_ctl(RARCH_MAIN_CTL_CHECK_IDLE_STATE, &cmd)) { - *unfocused = 1; - *sleep_ms = 10; + *sleep_ms = 10; return 1; } diff --git a/runloop.h b/runloop.h index df61ac5db7..4c8ddcf242 100644 --- a/runloop.h +++ b/runloop.h @@ -339,7 +339,7 @@ global_t *global_get_ptr(void); * Returns: 0 on successful run, 1 if we have to wait until button input in order * to wake up the loop, -1 if we forcibly quit out of the RetroArch iteration loop. **/ -int rarch_main_iterate(unsigned *unfocused, unsigned *sleep_ms); +int rarch_main_iterate(unsigned *sleep_ms); void rarch_main_msg_queue_push(const char *msg, unsigned prio, unsigned duration, bool flush); diff --git a/runloop_data.c b/runloop_data.c index 37bac47598..41603fc36c 100644 --- a/runloop_data.c +++ b/runloop_data.c @@ -31,10 +31,10 @@ void rarch_main_data_deinit(void) rarch_task_deinit(); } -void rarch_main_data_iterate(bool unfocused, bool sleeping) +void rarch_main_data_iterate(bool sleeping) { #ifdef HAVE_MENU - if (unfocused) + if (!sleeping) menu_iterate_render(); #endif diff --git a/runloop_data.h b/runloop_data.h index 39d7658964..86346ec242 100644 --- a/runloop_data.h +++ b/runloop_data.h @@ -27,7 +27,7 @@ typedef int (*transfer_cb_t)(void *data, size_t len); void rarch_main_data_clear_state(void); -void rarch_main_data_iterate(bool unfocused, bool sleeping); +void rarch_main_data_iterate(bool sleeping); void rarch_main_data_deinit(void); diff --git a/ui/drivers/ui_cocoa.m b/ui/drivers/ui_cocoa.m index bbc8f49576..a84d99f25e 100644 --- a/ui/drivers/ui_cocoa.m +++ b/ui/drivers/ui_cocoa.m @@ -226,17 +226,16 @@ static void poll_iteration(void) int ret = 0; while (ret != -1) { - bool sleeping = false; - unsigned unfocused = 0; - unsigned sleep_ms = 0; + bool sleeping = false; + unsigned sleep_ms = 0; poll_iteration(); - ret = rarch_main_iterate(&unfocused, &sleep_ms); + ret = rarch_main_iterate(&sleep_ms); if (ret == 1 && sleep_ms > 0) { - sleeping = true; + sleeping = true; retro_sleep(sleep_ms); } - rarch_main_data_iterate(unfocused, sleeping); + rarch_main_data_iterate(sleeping); while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.002, FALSE) == kCFRunLoopRunHandledSource); } diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 9e68c3bf3f..c16afc9ebc 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -72,16 +72,15 @@ static void rarch_draw_observer(CFRunLoopObserverRef observer, { bool is_idle; bool sleeping = false; - unsigned unfocused = 0; unsigned sleep_ms = 0; - int ret = rarch_main_iterate(&unfocused, &sleep_ms); + int ret = rarch_main_iterate(&sleep_ms); if (ret == 1 && !ui_companion_is_on_foreground() && sleep_ms > 0) { sleeping = true; retro_sleep(sleep_ms); } - rarch_main_data_iterate(unfocused, sleeping); + rarch_main_data_iterate(sleeping); if (ret == -1) {