diff --git a/retroarch.c b/retroarch.c index 41c5a92a9c..e482ab0b22 100644 --- a/retroarch.c +++ b/retroarch.c @@ -722,7 +722,8 @@ static void retroarch_parse_input(int argc, char *argv[]) * bogus arguments. */ - retroarch_set_current_core_type(CORE_TYPE_DUMMY, false); + if (!current_core_explicitly_set) + retroarch_set_current_core_type(CORE_TYPE_DUMMY, false); *global->subsystem = '\0'; @@ -1071,12 +1072,14 @@ static void retroarch_parse_input(int argc, char *argv[]) RARCH_ERR("--menu was used, but content file was passed as well.\n"); retroarch_fail(1, "retroarch_parse_input()"); } +#ifdef HAVE_DYNAMIC else { /* Allow stray -L arguments to go through to workaround cases where it's used as "config file". * This seems to still be the case for Android, which should be properly fixed. */ retroarch_set_current_core_type(CORE_TYPE_DUMMY, false); } +#endif } if (string_is_empty(global->subsystem) && optind < argc) diff --git a/tasks/task_content.c b/tasks/task_content.c index 455d5d587e..1a5a8f5ee3 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -1962,6 +1962,7 @@ bool task_push_content_load_default( runloop_ctl(RUNLOOP_CTL_DATA_DEINIT, NULL); runloop_ctl(RUNLOOP_CTL_TASK_INIT, NULL); break; + case CONTENT_MODE_LOAD_NOTHING_WITH_CURRENT_CORE_FROM_MENU: case CONTENT_MODE_LOAD_NOTHING_WITH_NEW_CORE_FROM_MENU: retroarch_set_current_core_type(type, true); break;