mirror of https://github.com/mgba-emu/mgba.git
Core: Fix patch autoloading leaking the file handle
This commit is contained in:
parent
10eb8c57d2
commit
c143851916
1
CHANGES
1
CHANGES
|
@ -8,6 +8,7 @@ Emulation fixes:
|
||||||
- GBA Serialize: Properly restore GPIO register state (fixes mgba.io/i/3294)
|
- GBA Serialize: Properly restore GPIO register state (fixes mgba.io/i/3294)
|
||||||
- GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes mgba.io/i/3110)
|
- GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes mgba.io/i/3110)
|
||||||
Other fixes:
|
Other fixes:
|
||||||
|
- Core: Fix patch autoloading leaking the file handle
|
||||||
- GB: Fix uninitialized save data when loading undersized temporary saves
|
- GB: Fix uninitialized save data when loading undersized temporary saves
|
||||||
- GB, GBA Core: Fix memory leak if reloading debug symbols
|
- GB, GBA Core: Fix memory leak if reloading debug symbols
|
||||||
- GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1
|
- GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1
|
||||||
|
|
|
@ -237,9 +237,22 @@ bool mCoreAutoloadPatch(struct mCore* core) {
|
||||||
if (!core->dirs.patch) {
|
if (!core->dirs.patch) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return core->loadPatch(core, mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".ups", O_RDONLY)) ||
|
struct VFile* vf = NULL;
|
||||||
core->loadPatch(core, mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".ips", O_RDONLY)) ||
|
if (!vf) {
|
||||||
core->loadPatch(core, mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".bps", O_RDONLY));
|
vf = mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".bps", O_RDONLY);
|
||||||
|
}
|
||||||
|
if (!vf) {
|
||||||
|
vf = mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".ups", O_RDONLY);
|
||||||
|
}
|
||||||
|
if (!vf) {
|
||||||
|
vf = mDirectorySetOpenSuffix(&core->dirs, core->dirs.patch, ".ips", O_RDONLY);
|
||||||
|
}
|
||||||
|
if (!vf) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bool result = core->loadPatch(core, vf);
|
||||||
|
vf->close(vf);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool mCoreAutoloadCheats(struct mCore* core) {
|
bool mCoreAutoloadCheats(struct mCore* core) {
|
||||||
|
|
Loading…
Reference in New Issue