all repos — mgba @ f53a6b22ccbe426eb695683900b1edda1e01904d

mGBA Game Boy Advance Emulator

Core: Fix ROM patches not being unloaded when disabled (fixes #962)
Vicki Pfau vi@endrift.com
Sun, 14 Jan 2018 19:24:09 -0800
commit

f53a6b22ccbe426eb695683900b1edda1e01904d

parent

f7a9d8f5957c1ef15fae4d5cee20851a8cf0612a

4 files changed, 12 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -15,6 +15,7 @@ - GBA BIOS: Fix incorrect exit condition in LZ77

- 3DS: Fix opening files in directory names with trailing slashes - GB MBC: Fix MBC2 saves (fixes mgba.io/i/954) - GBA Memory: Fix copy-on-write memory leak + - Core: Fix ROM patches not being unloaded when disabled (fixes mgba.io/i/962) Misc: - GBA: Improve multiboot image detection - GB MBC: Remove erroneous bank 0 wrapping
M src/core/cheats.csrc/core/cheats.c

@@ -253,10 +253,10 @@ return true;

} void mCheatRefresh(struct mCheatDevice* device, struct mCheatSet* cheats) { + cheats->refresh(cheats, device); if (!cheats->enabled) { return; } - cheats->refresh(cheats, device); size_t elseLoc = 0; size_t endLoc = 0;
M src/gb/cheats.csrc/gb/cheats.c

@@ -244,7 +244,11 @@ }

static void GBCheatRefresh(struct mCheatSet* cheats, struct mCheatDevice* device) { struct GBCheatSet* gbset = (struct GBCheatSet*) cheats; - _patchROM(device, gbset); + if (cheats->enabled) { + _patchROM(device, gbset); + } else { + _unpatchROM(device, gbset); + } } static void GBCheatSetCopyProperties(struct mCheatSet* set, struct mCheatSet* oldSet) {
M src/gba/cheats.csrc/gba/cheats.c

@@ -274,7 +274,11 @@ }

static void GBACheatRefresh(struct mCheatSet* cheats, struct mCheatDevice* device) { struct GBACheatSet* gbaset = (struct GBACheatSet*) cheats; - _patchROM(device, gbaset); + if (cheats->enabled) { + _patchROM(device, gbaset); + } else { + _unpatchROM(device, gbaset); + } } static void GBACheatSetCopyProperties(struct mCheatSet* set, struct mCheatSet* oldSet) {