X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Femu.c;h=117ec6d2f0800ccfb88f82bd42a03d7fc8bcc6ca;hb=a6df06b7633a061862258ec47fa0f6b0efcbe26f;hp=9e0726037d634b1ed6610c33f3d68ce4d69bd45c;hpb=16e89bed918ec39b1e43956b903f7986af86a6b2;p=libpicofe.git diff --git a/common/emu.c b/common/emu.c index 9e07260..117ec6d 100644 --- a/common/emu.c +++ b/common/emu.c @@ -285,7 +285,7 @@ int emu_ReloadRom(void) return 0; } - menu_romload_prepare(used_rom_name); + menu_romload_prepare(used_rom_name); // also CD load if(rom_data) { free(rom_data); @@ -301,7 +301,6 @@ int emu_ReloadRom(void) return 0; } pm_close(rom); - menu_romload_end(); // detect wrong files (Pico crashes on very small files), also see if ROM EP is good if(rom_size <= 0x200 || strncmp((char *)rom_data, "Pico", 4) == 0 || @@ -309,6 +308,7 @@ int emu_ReloadRom(void) if (rom_data) free(rom_data); rom_data = 0; sprintf(menuErrorMsg, "Not a ROM selected."); + menu_romload_end(); return 0; } @@ -321,6 +321,7 @@ int emu_ReloadRom(void) lprintf("PicoCartInsert(%p, %d);\n", rom_data, rom_size); if(PicoCartInsert(rom_data, rom_size)) { sprintf(menuErrorMsg, "Failed to load ROM."); + menu_romload_end(); return 0; } @@ -332,10 +333,13 @@ int emu_ReloadRom(void) if (ret != 0) { sprintf(menuErrorMsg, "Insert_CD() failed, invalid CD image?"); lprintf("%s\n", menuErrorMsg); + menu_romload_end(); return 0; } } + menu_romload_end(); + // emu_ReadConfig() might have messed currentConfig.lastRomFile strncpy(currentConfig.lastRomFile, romFileName, sizeof(currentConfig.lastRomFile)-1); currentConfig.lastRomFile[sizeof(currentConfig.lastRomFile)-1] = 0;