X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f13b39c0c3064fb073276370488161ca194839d4..642067e02a202feddc97255f1229e4e7378541d9:/src/common/memory.cpp?ds=sidebyside diff --git a/src/common/memory.cpp b/src/common/memory.cpp index 45d0b50816..7509750cd3 100644 --- a/src/common/memory.cpp +++ b/src/common/memory.cpp @@ -5,8 +5,8 @@ // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -33,6 +33,7 @@ #ifndef WX_PRECOMP #include "wx/utils.h" #include "wx/app.h" +#include "wx/hash.h" #endif #if wxUSE_THREADS @@ -44,15 +45,6 @@ #include "wx/ioswrap.h" -// Obsolete -#if 0 -#if wxUSE_IOSTREAMH - #include -#else - #include -#endif -#endif - #if !defined(__WATCOMC__) && !(defined(__VMS__) && ( __VMS_VER < 70000000 ) )\ && !defined( __MWERKS__ ) && !defined(__SALFORDC__) #include @@ -76,6 +68,13 @@ #include "wx/memory.h" +#if wxUSE_THREADS && defined(__WXDEBUG__) && !defined(__WXMAC__) +#define USE_THREADSAFE_MEMORY_ALLOCATION 1 +#else +#define USE_THREADSAFE_MEMORY_ALLOCATION 0 +#endif + + #ifdef new #undef new #endif @@ -351,7 +350,7 @@ void wxMemStruct::PrintNode () } else { - wxString msg(""); + wxString msg(wxT("")); if (m_fileName) msg.Printf(wxT("%s(%d): "), m_fileName, (int)m_lineNum); @@ -389,7 +388,7 @@ void wxMemStruct::Dump () else msg += wxT("unknown object class"); - wxString msg2(""); + wxString msg2(wxT("")); msg2.Printf(wxT(" at $%lX, size %d"), (long)GetActualData(), (int)RequestSize()); msg += msg2; @@ -401,7 +400,7 @@ void wxMemStruct::Dump () if (m_fileName) msg.Printf(wxT("%s(%d): "), m_fileName, (int)m_lineNum); - wxString msg2(""); + wxString msg2(wxT("")); msg2.Printf(wxT("non-object data at $%lX, size %d"), (long)GetActualData(), (int)RequestSize() ); msg += msg2; wxLogMessage(msg); @@ -609,7 +608,7 @@ bool wxDebugContext::Dump(void) #ifdef __WXDEBUG__ { wxChar* appName = (wxChar*) wxT("application"); - wxString appNameStr(""); + wxString appNameStr(wxT("")); if (wxTheApp) { appNameStr = wxTheApp->GetAppName(); @@ -776,7 +775,7 @@ bool wxDebugContext::PrintClasses(void) node = wxClassInfo::sm_classTable->Next(); while (node) { - info = (wxClassInfo *)node->Data(); + info = (wxClassInfo *)node->GetData(); if (info->GetClassName()) { wxString msg(info->GetClassName()); @@ -859,7 +858,7 @@ int wxDebugContext::CountObjectsLeft(bool sinceCheckpoint) return n ; } -#if wxUSE_THREADS +#if USE_THREADSAFE_MEMORY_ALLOCATION static bool memSectionOk = FALSE; class MemoryCriticalSection : public wxCriticalSection @@ -892,7 +891,7 @@ static MemoryCriticalSection memLocker; // TODO: store whether this is a vector or not. void * wxDebugAlloc(size_t size, wxChar * fileName, int lineNum, bool isObject, bool WXUNUSED(isVect) ) { -#if wxUSE_THREADS +#if USE_THREADSAFE_MEMORY_ALLOCATION MemoryCriticalSectionLocker lock(memLocker); #endif @@ -952,7 +951,7 @@ void * wxDebugAlloc(size_t size, wxChar * fileName, int lineNum, bool isObject, // TODO: check whether was allocated as a vector void wxDebugFree(void * buf, bool WXUNUSED(isVect) ) { -#if wxUSE_THREADS +#if USE_THREADSAFE_MEMORY_ALLOCATION MemoryCriticalSectionLocker lock(memLocker); #endif