GB, GBA: Fix savedata filehandle leaks

This commit is contained in:
Jeffrey Pfau 2016-09-08 19:21:02 -07:00
parent e8b7d180bf
commit ec33060390
2 changed files with 5 additions and 0 deletions

View File

@ -106,6 +106,7 @@ bool GBLoadSave(struct GB* gb, struct VFile* vf) {
static void GBSramDeinit(struct GB* gb) {
if (gb->sramVf) {
gb->sramVf->unmap(gb->sramVf, gb->memory.sram, gb->sramSize);
gb->sramVf->close(gb->sramVf);
gb->sramVf = 0;
} else if (gb->memory.sram) {
mappedMemoryFree(gb->memory.sram, gb->sramSize);

View File

@ -132,6 +132,10 @@ void GBAUnloadROM(struct GBA* gba) {
}
GBASavedataDeinit(&gba->memory.savedata);
if (gba->memory.savedata.realVf) {
gba->memory.savedata.realVf->close(gba->memory.savedata.realVf);
gba->memory.savedata.realVf = 0;
}
gba->idleLoop = IDLE_LOOP_NONE;
}