From ca9e2173a63d0e5a56fa9c2f8e1ff6ff32a9b71f Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Thu, 4 Sep 2008 06:26:24 +0000 Subject: [PATCH] gcc is too aggressively hiding these inlines on wxCriticialSection on osx, expose them for wxPython git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/thread.h | 7 +++++-- src/unix/threadpsx.cpp | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/include/wx/thread.h b/include/wx/thread.h index 0ef9166f35..4eed53d1bf 100644 --- a/include/wx/thread.h +++ b/include/wx/thread.h @@ -207,7 +207,11 @@ private: #if !defined(__WXMSW__) #define wxCRITSECT_IS_MUTEX 1 +#ifdef __WXMAC__ + #define wxCRITSECT_INLINE +#else #define wxCRITSECT_INLINE inline +#endif #else // MSW #define wxCRITSECT_IS_MUTEX 0 @@ -222,7 +226,6 @@ public: // ctor & dtor wxCRITSECT_INLINE wxCriticalSection(); wxCRITSECT_INLINE ~wxCriticalSection(); - // enter the section (the same as locking a mutex) wxCRITSECT_INLINE void Enter(); @@ -261,7 +264,7 @@ private: DECLARE_NO_COPY_CLASS(wxCriticalSection) }; -#if wxCRITSECT_IS_MUTEX +#if wxCRITSECT_IS_MUTEX && !defined(__WXMAC__) // implement wxCriticalSection using mutexes inline wxCriticalSection::wxCriticalSection() { } inline wxCriticalSection::~wxCriticalSection() { } diff --git a/src/unix/threadpsx.cpp b/src/unix/threadpsx.cpp index 29288623cd..2274d96da2 100644 --- a/src/unix/threadpsx.cpp +++ b/src/unix/threadpsx.cpp @@ -67,6 +67,16 @@ #define THR_ID(thr) ((long)(thr)->GetId()) #endif +#ifdef __WXMAC__ + + // implement wxCriticalSection using mutexes +wxCriticalSection::wxCriticalSection() { } +wxCriticalSection::~wxCriticalSection() { } + +void wxCriticalSection::Enter() { (void)m_mutex.Lock(); } +void wxCriticalSection::Leave() { (void)m_mutex.Unlock(); } + +#endif // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -- 2.45.2