From 86a36853edc869ddd026906b2c641aa0871e93e3 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Mon, 22 Jun 2015 01:32:49 -0700 Subject: [PATCH] GBA: Make sure unloading only frees if needed and always zeroes variable --- src/gba/gba.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gba/gba.c b/src/gba/gba.c index c2305bda5..7994f03fa 100644 --- a/src/gba/gba.c +++ b/src/gba/gba.c @@ -97,14 +97,13 @@ static void GBAInit(struct ARMCore* cpu, struct ARMComponent* component) { } void GBAUnloadROM(struct GBA* gba) { - if (gba->pristineRom == gba->memory.rom) { - gba->memory.rom = 0; - } else { + if (gba->memory.rom && gba->pristineRom != gba->memory.rom) { if (gba->yankedRomSize) { gba->yankedRomSize = 0; } mappedMemoryFree(gba->memory.rom, SIZE_CART0); } + gba->memory.rom = 0; if (gba->romVf) { gba->romVf->unmap(gba->romVf, gba->pristineRom, gba->pristineRomSize);