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);
|
NDS::LoadSave(data, len);
|
||||||
NdsSaveRamIsDirty = false;
|
NdsSaveRamIsDirty = false;
|
||||||
|
|
||||||
data += ndsSaveLen;
|
if (gbaSaveLen && len >= (ndsSaveLen + gbaSaveLen))
|
||||||
len -= ndsSaveLen;
|
|
||||||
|
|
||||||
if (gbaSaveLen && len >= 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;
|
GbaSaveRamIsDirty = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue