fix loading gba saves re-allocating buffer (thus invalidating its memory domain)
This commit is contained in:
parent
4d6bc5a33a
commit
c2e8bda5e2
Binary file not shown.
|
@ -23,12 +23,11 @@ ECL_EXPORT void PutSaveRam(u8* data, u32 len)
|
|||
NDS::LoadSave(data, len);
|
||||
NdsSaveRamIsDirty = false;
|
||||
|
||||
data += ndsSaveLen;
|
||||
len -= ndsSaveLen;
|
||||
|
||||
if (gbaSaveLen && len >= gbaSaveLen)
|
||||
if (gbaSaveLen && len >= (ndsSaveLen + gbaSaveLen))
|
||||
{
|
||||
GBACart::LoadSave(data, gbaSaveLen);
|
||||
// don't use GBACart::LoadSave! it will re-allocate the save buffer (bad!)
|
||||
// NDS::LoadSave is fine (and should be used)
|
||||
memcpy(GBACart::GetSaveMemory(), data + ndsSaveLen, gbaSaveLen);
|
||||
GbaSaveRamIsDirty = false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue