diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.cpp index 1ee0c799f3..0662511f92 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.cpp @@ -28,7 +28,7 @@ CUCode_NewAX::CUCode_NewAX(DSPHLE* dsp_hle, u32 crc) : IUCode(dsp_hle, crc) , m_cmdlist_size(0) - , m_axthread(&CUCode_NewAX::AXThread, this) + , m_axthread(&SpawnAXThread, this) { m_rMailHandler.PushMail(DSP_INIT); DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP); @@ -43,6 +43,11 @@ CUCode_NewAX::~CUCode_NewAX() m_rMailHandler.Clear(); } +void CUCode_NewAX::SpawnAXThread(CUCode_NewAX* self) +{ + self->AXThread(); +} + void CUCode_NewAX::AXThread() { while (true) diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.h b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.h index 12886c5724..118d64e7ab 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.h +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.h @@ -32,6 +32,10 @@ public: void Update(int cycles); void DoState(PointerWrap& p); + // Needed because StdThread.h std::thread implem does not support member + // pointers. + static void SpawnAXThread(CUCode_NewAX* self); + private: enum MailType {