From 61c1fab2c62e2f841590e91cbcd4450f5f432bfa Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Wed, 14 Nov 2012 12:13:19 +0100 Subject: [PATCH] Fix Windows support again: std::thread can't take a member pointer with StdThread.h from Common --- Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.cpp | 7 ++++++- Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_NewAX.h | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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 {