X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9482617091b084d4ee006679a450176715d465e0..f3f0d961af5454a3544a4f4f9aced750d4641d69:/src/common/fs_mem.cpp diff --git a/src/common/fs_mem.cpp b/src/common/fs_mem.cpp index a1013b5bde..37a272bbdc 100644 --- a/src/common/fs_mem.cpp +++ b/src/common/fs_mem.cpp @@ -7,7 +7,14 @@ ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) && !defined(__EMX__) +// Some older compilers (such as EMX) cannot handle +// #pragma interface/implementation correctly, iff +// #pragma implementation is used in _two_ translation +// units (as created by e.g. event.cpp compiled for +// libwx_base and event.cpp compiled for libwx_gui_core). +// So we must not use those pragmas for those compilers in +// such files. #pragma implementation "fs_mem.h" #endif @@ -101,6 +108,7 @@ wxMemoryFSHandlerBase::~wxMemoryFSHandlerBase() if (m_Hash) { + WX_CLEAR_HASH_TABLE(*m_Hash); delete m_Hash; m_Hash = NULL; } @@ -160,7 +168,6 @@ bool wxMemoryFSHandlerBase::CheckHash(const wxString& filename) if (m_Hash == NULL) { m_Hash = new wxHashTable(wxKEY_STRING); - m_Hash -> DeleteContents(TRUE); } if (m_Hash -> Get(filename) != NULL)