all repos — mgba @ d30d89245229b18be0c4ed92323a730becb2a77d

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

d30d89245229b18be0c4ed92323a730becb2a77d

parent

38e3dbc0fcec4356fff4212dee2c905d494f6c69

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

jump to
M CHANGESCHANGES

@@ -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.csrc/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.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) {