From: Toni Wilen Date: Fri, 16 Sep 2016 14:36:38 +0000 (+0300) Subject: default.uae and missing input device: replace with none, not layout A. X-Git-Tag: 3400~84 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=1ead5cac5d6c75b2392ce4e44e147e56cd852662;p=francis%2Fwinuae.git default.uae and missing input device: replace with none, not layout A. --- diff --git a/inputdevice.cpp b/inputdevice.cpp index 6bb419c2..61515c30 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -8419,11 +8419,17 @@ static bool fixjport (struct jport *port, int add, bool always) return wasinvalid; } -static void inputdevice_get_previous_joy(struct uae_prefs *p, int portnum) +static void inputdevice_get_previous_joy(struct uae_prefs *p, int portnum, bool userconfig) { + struct jport *jpx = &p->jports[portnum]; + + if (!userconfig) { + // default.uae with unplugged device -> NONE + p->jports[portnum].id = JPORT_NONE; + return; + } bool found = false; int idx = 0; - struct jport *jpx = &p->jports[portnum]; for (;;) { struct jport *jp = inputdevice_get_used_device(portnum, idx); if (!jp) @@ -8678,7 +8684,7 @@ int inputdevice_joyport_config (struct uae_prefs *p, const TCHAR *value1, const } // joystick not found, select previously used or default if (start == JSEM_JOYS && p->jports[portnum].id < JSEM_JOYS) { - inputdevice_get_previous_joy(p, portnum); + inputdevice_get_previous_joy(p, portnum, true); set_config_changed (); return 1; } @@ -8802,7 +8808,7 @@ void inputdevice_fix_prefs(struct uae_prefs *p, bool userconfig) write_log(_T("Unplugged stored, port %d '%s' (%s)\n"), i, jp->idc.name, jp->idc.configname); inputdevice_store_used_device(&jpt, i, defaultports); freejport(p, i); - inputdevice_get_previous_joy(p, i); + inputdevice_get_previous_joy(p, i, userconfig); matched[i] = true; } } @@ -8813,7 +8819,7 @@ void inputdevice_fix_prefs(struct uae_prefs *p, bool userconfig) struct jport *jp = &jport_config_store[i]; freejport(p, i); if (jp->id != JPORT_NONE) { - inputdevice_get_previous_joy(p, i); + inputdevice_get_previous_joy(p, i, userconfig); write_log(_T("Port%d: ID=%d getting previous: %d\n"), i, jp->id, p->jports[i].id); } else { write_log(_T("Port%d: NONE\n"), i);