From 6a3303d2b413858a563ab141c19e2f0ae1283e10 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 25 Aug 2013 15:51:42 +0200 Subject: [PATCH] Need to put extra conditional in when triggering ENVIRON EXEC to get out of the main iterate loop once so that it can start up the next core with params --- dynamic.c | 1 + general.h | 2 ++ retroarch.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/dynamic.c b/dynamic.c index 17cc937d83..5713e8ecec 100644 --- a/dynamic.c +++ b/dynamic.c @@ -780,6 +780,7 @@ bool rarch_environment_cb(unsigned cmd, void *data) #elif defined(HAVE_DYNAMIC) g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME); #endif + g_extern.exec = true; break; diff --git a/general.h b/general.h index 85a97eeb4c..09364943c7 100644 --- a/general.h +++ b/general.h @@ -472,6 +472,8 @@ struct global msg_queue_t *msg_queue; + bool exec; + // Rewind support. state_manager_t *state_manager; void *state_buf; diff --git a/retroarch.c b/retroarch.c index 8c1ceed1cd..ce73bb23f8 100644 --- a/retroarch.c +++ b/retroarch.c @@ -3059,6 +3059,12 @@ bool rarch_main_iterate(void) if (check_enter_rgui()) return false; // Enter menu, don't exit. + if (g_extern.exec) + { + g_extern.exec = false; + return false; + } + #ifdef HAVE_COMMAND if (driver.command) rarch_cmd_pre_frame(driver.command);