diff --git a/src/main.cpp b/src/main.cpp index a9703c30..3ed9ea72 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -861,7 +861,10 @@ static int real_main2(int argc, TCHAR** argv) } if (restart_config[0]) + { parse_cmdline_and_init_file(argc, argv); + config_loaded = true; + } else copy_prefs(&changed_prefs, &currprefs); diff --git a/src/osdep/amiberry_gui.cpp b/src/osdep/amiberry_gui.cpp index f6d8724c..b1d14223 100644 --- a/src/osdep/amiberry_gui.cpp +++ b/src/osdep/amiberry_gui.cpp @@ -29,6 +29,7 @@ #endif int emulating = 0; +bool config_loaded = false; struct gui_msg { diff --git a/src/osdep/gui/PanelQuickstart.cpp b/src/osdep/gui/PanelQuickstart.cpp index 5d270272..6bc49b3e 100644 --- a/src/osdep/gui/PanelQuickstart.cpp +++ b/src/osdep/gui/PanelQuickstart.cpp @@ -819,7 +819,7 @@ void InitPanelQuickstart(const struct _ConfigCategory& category) SetControlState(quickstart_model); // Only change the current prefs if we're not already emulating - if (!emulating) + if (!emulating && !config_loaded) AdjustPrefs(); RefreshPanelQuickstart(); diff --git a/src/osdep/target.h b/src/osdep/target.h index 7627575c..d5862525 100644 --- a/src/osdep/target.h +++ b/src/osdep/target.h @@ -36,6 +36,7 @@ extern void fix_apmodes(struct uae_prefs *p); extern int generic_main (int argc, char *argv[]); extern int emulating; +extern bool config_loaded; extern int z3_base_adr; #ifdef USE_DISPMANX