diff --git a/retroarch.c b/retroarch.c index a9e8160b61..b6d92266c0 100644 --- a/retroarch.c +++ b/retroarch.c @@ -34538,7 +34538,7 @@ bool retroarch_main_init(int argc, char *argv[]) { RARCH_ERR("%s: \"%s\"\n", msg_hash_to_str(MSG_FATAL_ERROR_RECEIVED_IN), p_rarch->error_string); - return false; + goto error; } p_rarch->rarch_error_on_init = true; @@ -36801,7 +36801,15 @@ static enum runloop_state runloop_check_state( } if (!menu_driver_iterate(&iter, current_time)) - retroarch_menu_running_finished(false); + { + if (p_rarch->rarch_error_on_init) + { + content_ctx_info_t content_info = {0}; + task_push_start_dummy_core(&content_info); + } + else + retroarch_menu_running_finished(false); + } if (focused || !p_rarch->runloop_idle) {