diff --git a/CHANGES b/CHANGES index a8dcbb026..37cdffada 100644 --- a/CHANGES +++ b/CHANGES @@ -24,6 +24,7 @@ Bugfixes: - GB: Properly clear KEY1 bit 0 when switching speeds - GBA Cheats: Fix uninitialized memory getting freed when saving - GBA Memory: Fix several unused I/O register read values + - Qt: Fix patch loading Misc: - All: Only update version info if needed - FFmpeg: Encoding cleanup diff --git a/src/platform/qt/GameController.cpp b/src/platform/qt/GameController.cpp index d71b4b3d1..9298a1eda 100644 --- a/src/platform/qt/GameController.cpp +++ b/src/platform/qt/GameController.cpp @@ -573,6 +573,8 @@ void GameController::closeGame() { if (mCoreThreadIsPaused(&m_threadContext)) { mCoreThreadUnpause(&m_threadContext); } + m_patch = QString(); + QMetaObject::invokeMethod(m_audioProcessor, "pause", Qt::BlockingQueuedConnection); mCoreThreadEnd(&m_threadContext); } @@ -586,8 +588,6 @@ void GameController::cleanGame() { delete[] m_drawContext; delete[] m_frontBuffer; - m_patch = QString(); - m_threadContext.core->deinit(m_threadContext.core); m_gameOpen = false; }