diff --git a/general.h b/general.h index 25f7c74084..12a6bedc1f 100644 --- a/general.h +++ b/general.h @@ -469,6 +469,8 @@ struct global cheat_manager_t *cheat; + bool block_config_read; + // Settings and/or global state that is specific to a console-style implementation. struct { diff --git a/retroarch.c b/retroarch.c index 176ba244ed..ed351c26b0 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2672,10 +2672,7 @@ int rarch_main_init(int argc, char *argv[]) } validate_cpu_features(); -#ifndef RARCH_CONSOLE - /* we already do this at startup */ config_load(); -#endif init_libretro_sym(); rarch_init_system_info(); diff --git a/settings.c b/settings.c index 98f88128f4..6d9414a9f8 100644 --- a/settings.c +++ b/settings.c @@ -309,6 +309,8 @@ void config_set_defaults(void) #ifdef HAVE_ZLIB g_extern.file_state.zip_extract_mode = 0; #endif + + g_extern.block_config_read = true; #endif rarch_init_msg_queue(); @@ -318,8 +320,11 @@ static void parse_config_file(void); void config_load(void) { - config_set_defaults(); - parse_config_file(); + if (!g_extern.block_config_read) + { + config_set_defaults(); + parse_config_file(); + } } static config_file_t *open_default_config_file(void)