diff --git a/softmmu/vl.c b/softmmu/vl.c index ae139dae56..9f33e526df 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2794,16 +2794,6 @@ void qemu_init(int argc, char **argv, char **envp) // reporting. This should be replaced eventually, but is "good enough" for // now. // - for (int i = 1; i < argc; i++) { - if (argv[i] && strcmp(argv[i], "-config_path") == 0) { - argv[i] = NULL; - if (i < argc - 1 && argv[i+1]) { - xemu_settings_set_path(argv[i+1]); - argv[i+1] = NULL; - } - break; - } - } int first_boot = xemu_settings_did_fail_to_load(); int fake_argc = 32 + argc; diff --git a/ui/xemu.c b/ui/xemu.c index 51a5d4366d..401b8f2a92 100644 --- a/ui/xemu.c +++ b/ui/xemu.c @@ -1522,6 +1522,17 @@ int main(int argc, char **argv) gArgc = argc; gArgv = argv; + for (int i = 1; i < argc; i++) { + if (argv[i] && strcmp(argv[i], "-config_path") == 0) { + argv[i] = NULL; + if (i < argc - 1 && argv[i+1]) { + xemu_settings_set_path(argv[i+1]); + argv[i+1] = NULL; + } + break; + } + } + xemu_settings_load(); atexit(xemu_settings_save);