From 1164d5b4709c1116c67fcdd2646e82020ff536e1 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Thu, 9 Feb 2023 00:17:55 -0800 Subject: [PATCH] Qt: Disable attempted linking betwen incompatible platforms (fixes #2702) --- CHANGES | 1 + src/platform/qt/MultiplayerController.cpp | 3 +++ src/platform/qt/MultiplayerController.h | 3 +++ 3 files changed, 7 insertions(+) diff --git a/CHANGES b/CHANGES index a507010c2..f99a6a9cb 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,7 @@ Other fixes: - Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes mgba.io/i/2794) - Qt: Disable sync while running scripts from main thread (fixes mgba.io/i/2738) - Qt: Properly cap number of attached players by platform (fixes mgba.io/i/2807) + - Qt: Disable attempted linking betwen incompatible platforms (fixes mgba.io/i/2702) Misc: - Qt: Include wayland QPA in AppImage (fixes mgba.io/i/2796) - Qt: Stop eating boolean action key events (fixes mgba.io/i/2636) diff --git a/src/platform/qt/MultiplayerController.cpp b/src/platform/qt/MultiplayerController.cpp index a45f287a9..618efd1f6 100644 --- a/src/platform/qt/MultiplayerController.cpp +++ b/src/platform/qt/MultiplayerController.cpp @@ -229,6 +229,9 @@ bool MultiplayerController::attachGame(CoreController* controller) { default: return false; } + m_platform = controller->platform(); + } else if (controller->platform() != m_platform) { + return false; } mCoreThread* thread = controller->thread(); diff --git a/src/platform/qt/MultiplayerController.h b/src/platform/qt/MultiplayerController.h index 5ad6124db..35cae13bb 100644 --- a/src/platform/qt/MultiplayerController.h +++ b/src/platform/qt/MultiplayerController.h @@ -9,6 +9,7 @@ #include #include +#include #include #ifdef M_CORE_GBA #include @@ -77,6 +78,8 @@ private: GBASIOLockstep m_gbaLockstep; #endif }; + + mPlatform m_platform = mPLATFORM_NONE; QList m_players; QMutex m_lock; };