From 7e474db93a62c148299616bb315e6c65afc8f00f Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 8 Oct 2024 04:32:43 -0700 Subject: [PATCH] Qt: Fix some new SIO cleanup issues --- src/platform/qt/MultiplayerController.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/platform/qt/MultiplayerController.cpp b/src/platform/qt/MultiplayerController.cpp index 3b2146f7a..e95498fad 100644 --- a/src/platform/qt/MultiplayerController.cpp +++ b/src/platform/qt/MultiplayerController.cpp @@ -192,6 +192,9 @@ MultiplayerController::MultiplayerController() { MultiplayerController::~MultiplayerController() { mLockstepDeinit(&m_lockstep); + if (m_platform == mPLATFORM_GBA) { + GBASIOLockstepCoordinatorDeinit(&m_gbaCoordinator); + } } bool MultiplayerController::attachGame(CoreController* controller) { @@ -376,7 +379,7 @@ void MultiplayerController::detachGame(CoreController* controller) { if (p.attached) { GBASIOLockstepCoordinatorDetach(&m_gbaCoordinator, p.node.gba); } - delete p.node.gba->user; + delete reinterpret_cast(p.node.gba->user); delete p.node.gba; break; } @@ -417,6 +420,9 @@ void MultiplayerController::detachGame(CoreController* controller) { m_pids.remove(pid); if (m_pids.size() == 0) { + if (m_platform == mPLATFORM_GBA) { + GBASIOLockstepCoordinatorDeinit(&m_gbaCoordinator); + } m_platform = mPLATFORM_NONE; } else { fixOrder();