X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c2dd8380badebac8dc01f8948288235ae91056ed..7cc98b3e3fbe91688e1ff8852a03e589aec5c866:/src/qt/threadsgi.cpp?ds=sidebyside diff --git a/src/qt/threadsgi.cpp b/src/qt/threadsgi.cpp index 3503e79616..66b6b0da7b 100644 --- a/src/qt/threadsgi.cpp +++ b/src/qt/threadsgi.cpp @@ -34,7 +34,7 @@ enum thread_state { ///////////////////////////////////////////////////////////////////////////// static int p_mainid; -wxMutex wxMainMutex; +wxMutex *wxMainMutex; #include "threadgui.inc" @@ -166,10 +166,10 @@ void *wxThread::Join() int stat; if (do_unlock) - wxMainMutex.Unlock(); + wxMainMutex->Unlock(); waitpid(p_internal->thread_id, &stat, 0); if (do_unlock) - wxMainMutex.Lock(); + wxMainMutex->Lock(); if (!WIFEXITED(stat) && !WIFSIGNALED(stat)) return 0; p_internal->state = STATE_IDLE; @@ -238,14 +238,16 @@ class wxThreadModule : public wxModule { DECLARE_DYNAMIC_CLASS(wxThreadModule) public: virtual bool OnInit() { + wxMainMutex = new wxMutex(); wxThreadGuiInit(); p_mainid = (int)getpid(); - wxMainMutex.Lock(); + wxMainMutex->Lock(); } virtual void OnExit() { - wxMainMutex.Unlock(); + wxMainMutex->Unlock(); wxThreadGuiExit(); + delete wxMainMutex; } };