diff --git a/src/platform/sdl/sdl-events.c b/src/platform/sdl/sdl-events.c index 03f398864..5fbbb88e7 100644 --- a/src/platform/sdl/sdl-events.c +++ b/src/platform/sdl/sdl-events.c @@ -126,9 +126,11 @@ static void _GBASDLHandleKeypress(struct GBAThread* context, struct GBASDLEvents GBAThreadReset(context); GBAThreadInterrupt(context); GBARRContextCreate(context->gba); - GBARRSetStream(context->gba->rr, context->stateDir); - GBARRStopPlaying(context->gba->rr); - GBARRStartRecording(context->gba->rr); + if (!GBARRIsRecording(context->gba->rr)) { + GBARRSetStream(context->gba->rr, context->stateDir); + GBARRStopPlaying(context->gba->rr); + GBARRStartRecording(context->gba->rr); + } GBAThreadContinue(context); } break;