diff bindings.c @ 2286:5d3411f52d00

Fix ui.reload for locked-on ROMs
author Michael Pavone <pavone@retrodev.com>
date Fri, 13 Jan 2023 23:42:46 -0800
parents 3ef80963c2a7
children 4de40b13b55f
line wrap: on
line diff
--- a/bindings.c	Fri Jan 13 19:19:40 2023 -0800
+++ b/bindings.c	Fri Jan 13 23:42:46 2023 -0800
@@ -386,7 +386,20 @@
 			break;
 		case UI_RELOAD:
 			if (allow_content_binds) {
-				reload_media();
+				system_media *lock = current_media()->chain;
+				if (lock) {
+					const char* parts[] = {lock->dir, PATH_SEP, lock->name, ".", lock->extension};
+					char const **start = parts[0] ? parts : parts + 2;
+					int num_parts = parts[0] ? 5 : 3;
+					if (!parts[4]) {
+						num_parts -= 2;
+					}
+					char *path = alloc_concat_m(num_parts, start);
+					lockon_media(path);
+					free(path);
+				} else {
+					reload_media();
+				}
 			}
 			break;
 		case UI_SMS_PAUSE: