diff --git a/src/common/memory.cpp b/src/common/memory.cpp index e32260e3aa..ebb8d27a49 100644 --- a/src/common/memory.cpp +++ b/src/common/memory.cpp @@ -910,14 +910,19 @@ private: bool m_locked; }; -static MemoryCriticalSection memLocker; +MemoryCriticalSection &GetMemLocker() +{ + static MemoryCriticalSection memLocker; + return memLocker; +} + #endif // TODO: store whether this is a vector or not. void * wxDebugAlloc(size_t size, wxChar * fileName, int lineNum, bool isObject, bool WXUNUSED(isVect) ) { #if USE_THREADSAFE_MEMORY_ALLOCATION - MemoryCriticalSectionLocker lock(memLocker); + MemoryCriticalSectionLocker lock(GetMemLocker()); #endif // If not in debugging allocation mode, do the normal thing @@ -977,7 +982,7 @@ void * wxDebugAlloc(size_t size, wxChar * fileName, int lineNum, bool isObject, void wxDebugFree(void * buf, bool WXUNUSED(isVect) ) { #if USE_THREADSAFE_MEMORY_ALLOCATION - MemoryCriticalSectionLocker lock(memLocker); + MemoryCriticalSectionLocker lock(GetMemLocker()); #endif if (!buf)