Core: Fix crash with rewind if savestates shrink
Vicki Pfau vi@endrift.com
Fri, 21 Apr 2017 16:22:48 -0700
2 files changed,
3 insertions(+),
0 deletions(-)
M
CHANGES
→
CHANGES
@@ -42,6 +42,7 @@ - GBA BIOS: Fix ArcTan sign in HLE BIOS
- GBA BIOS: Fix ArcTan2 sign in HLE BIOS (fixes mgba.io/i/689) - GBA Video: Don't update background scanline params in mode 0 (fixes mgba.io/i/377) - Qt: Ensure CLI backend is attached when submitting commands (fixes mgba.io/i/662) + - Core: Fix crash with rewind if savestates shrink Misc: - SDL: Remove scancode key input - GBA Video: Clean up unused timers
M
src/core/rewind.c
→
src/core/rewind.c
@@ -50,6 +50,8 @@ size_t size = context->currentState->size(context->currentState);
if (size2 > size) { context->currentState->truncate(context->currentState, size2); size = size2; + } else if (size > size2) { + nextState->truncate(nextState, size); } void* current = context->currentState->map(context->currentState, size, MAP_READ); void* next = nextState->map(nextState, size, MAP_READ);