From 37186aedc8fea65fc211120e3453799790e588f5 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 25 Mar 2023 10:36:30 +0100 Subject: [PATCH] fix bug --- src/frontend/qt_sdl/IPC.cpp | 4 ++++ src/frontend/qt_sdl/Netplay.cpp | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/frontend/qt_sdl/IPC.cpp b/src/frontend/qt_sdl/IPC.cpp index 108dd76b..e47b9522 100644 --- a/src/frontend/qt_sdl/IPC.cpp +++ b/src/frontend/qt_sdl/IPC.cpp @@ -509,6 +509,8 @@ void ProcessCommands() if (cmdheader.Length) FIFORead<0>(cmddata, cmdheader.Length); + Buffer->unlock(); + switch (cmdheader.Command) { case Cmd_Pause: @@ -538,6 +540,8 @@ void ProcessCommands() emuThread->emuRun(); break; } + + Buffer->lock(); } Buffer->unlock(); diff --git a/src/frontend/qt_sdl/Netplay.cpp b/src/frontend/qt_sdl/Netplay.cpp index 7fd3b60c..11728c82 100644 --- a/src/frontend/qt_sdl/Netplay.cpp +++ b/src/frontend/qt_sdl/Netplay.cpp @@ -838,7 +838,8 @@ void ProcessInput() if (InputQueue.empty()) { - printf("Netplay: BAD! INPUT QUEUE EMPTY\n"); + if (NDS::NumFrames < 4) + printf("Netplay: BAD! INPUT QUEUE EMPTY\n"); return; } @@ -863,7 +864,7 @@ void ProcessInput() } // apply this input frame - printf("[%08d] INPUT=%08X (%08d) (backlog=%d)\n", NDS::NumFrames, frame.KeyMask, frame.FrameNum, InputQueue.size()); + if (frame.KeyMask != 0xFFF) printf("[%08d] INPUT=%08X (%08d) (backlog=%d)\n", NDS::NumFrames, frame.KeyMask, frame.FrameNum, InputQueue.size()); NDS::SetKeyMask(frame.KeyMask); InputQueue.pop(); }