Core: Fix ROM patches not being unloaded when disabled (fixes #962)
Vicki Pfau vi@endrift.com
Sun, 14 Jan 2018 19:24:09 -0800
4 files changed,
12 insertions(+),
3 deletions(-)
M
CHANGES
→
CHANGES
@@ -39,6 +39,7 @@ - GBA Audio: Increase PSG volume (fixes mgba.io/i/932)
- 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 Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
M
src/core/cheats.c
→
src/core/cheats.c
@@ -266,10 +266,10 @@ }
#endif 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.c
→
src/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.c
→
src/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) {