X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/857f3be5f1e6f20a0c99b839e91d8afd5478e828..3cc487d140f11e26a9c4ae35ba87cc22684da65a:/src/qt/threadpsx.cpp diff --git a/src/qt/threadpsx.cpp b/src/qt/threadpsx.cpp index 9623b91c30..2d4912c05a 100644 --- a/src/qt/threadpsx.cpp +++ b/src/qt/threadpsx.cpp @@ -37,7 +37,7 @@ static pthread_t p_mainid; static wxMutex p_list_mutex; static wxList p_threads_list; -wxMutex wxMainMutex; // controls access to all GUI functions +wxMutex *wxMainMutex; // controls access to all GUI functions ///////////////////////////////////////////////////////////////////////////// // GUI thread manager @@ -288,10 +288,10 @@ void *wxThread::Join() wxYield(); if (do_unlock) - wxMainMutex.Unlock(); + wxMainMutex->Unlock(); pthread_join(p_internal->thread_id, &status); if (do_unlock) - wxMainMutex.Lock(); + wxMainMutex->Lock(); p_list_mutex.Lock(); delete p_threads_list.Nth(p_internal->id); @@ -377,17 +377,19 @@ class wxThreadModule : public wxModule { DECLARE_DYNAMIC_CLASS(wxThreadModule) public: virtual bool OnInit() { + wxMainMutex = new wxMutex(); wxThreadGuiInit(); p_mainid = pthread_self(); p_threads_list = wxList(wxKEY_INTEGER); - wxMainMutex.Lock(); + wxMainMutex->Lock(); return TRUE; } virtual void OnExit() { - wxMainMutex.Unlock(); + wxMainMutex->Unlock(); wxThreadGuiExit(); + delete wxMainMutex; } };