]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Use current rom image path instead of replacing it with first found item if current...
authorToni Wilen <twilen@winuae.net>
Tue, 1 Aug 2017 19:08:22 +0000 (22:08 +0300)
committerToni Wilen <twilen@winuae.net>
Tue, 1 Aug 2017 19:08:22 +0000 (22:08 +0300)
cfgfile.cpp

index fee61aa0c3366ac389b2abc6cb80b6112a490fbc..f235a53210241a6c55af4624f9727f5870571925 100644 (file)
@@ -3867,16 +3867,25 @@ static void decode_rom_ident (TCHAR *romfile, int maxlen, const TCHAR *ident, in
                                rl = getromlistbyident (ver, rev, subver, subrev, modelp, romflags, round > 0);
                                if (rl) {
                                        for (i = 0; rl[i]; i++) {
-                                               if (round) {
-                                                       TCHAR romname[MAX_DPATH];
-                                                       getromname(rl[i]->rd, romname);
-                                                       _tcscat (romtxt, romname);
-                                                       _tcscat (romtxt, _T("\n"));
-                                               } else {
-                                                       _tcsncpy (romfile, rl[i]->path, maxlen);
+                                               if (rl[i]->path && !_tcscmp(rl[i]->path, romfile)) {
+                                                       xfree(rl);
+                                                       round = 0;
                                                        goto end;
                                                }
                                        }
+                                       if (!rl[i]) {
+                                               for (i = 0; rl[i]; i++) {
+                                                       if (round) {
+                                                               TCHAR romname[MAX_DPATH];
+                                                               getromname(rl[i]->rd, romname);
+                                                               _tcscat (romtxt, romname);
+                                                               _tcscat (romtxt, _T("\n"));
+                                                       } else {
+                                                               _tcsncpy (romfile, rl[i]->path, maxlen);
+                                                               goto end;
+                                                       }
+                                               }
+                                       }
                                        xfree (rl);
                                }
                        }