Use wxWcslen instead of wcslen.

Work around a compiler bug: with (at least) GCC 2.95.3-5 under Cygwin,
the destructor for the global s_fileInfo is called twice (!). This does
hot happen if a function returning a reference to a static variable is
used.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2002-12-27 21:39:58 +00:00
parent 91f580b235
commit 17ebae657e
2 changed files with 10 additions and 3 deletions

View File

@@ -474,7 +474,7 @@ STDMETHODIMP wxIDataObject::SetData(FORMATETC *pformatetc,
|| ( defined(__MWERKS__) && defined(__WXMSW__) ) || ( defined(__MWERKS__) && defined(__WXMSW__) )
size = std::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t); size = std::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
#else #else
size = ::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t); size = wxWcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
#endif #endif
break; break;
#endif #endif

View File

@@ -102,7 +102,7 @@ static WNetCloseEnumPtr s_pWNetCloseEnum;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static long s_cancelSearch = FALSE; static long s_cancelSearch = FALSE;
struct FileInfo : public wxObject struct FileInfo
{ {
FileInfo(unsigned flag=0, wxFSVolumeKind type=wxFS_VOL_OTHER) : FileInfo(unsigned flag=0, wxFSVolumeKind type=wxFS_VOL_OTHER) :
m_flags(flag), m_type(type) {} m_flags(flag), m_type(type) {}
@@ -119,7 +119,14 @@ struct FileInfo : public wxObject
wxFSVolumeKind m_type; wxFSVolumeKind m_type;
}; };
WX_DECLARE_STRING_HASH_MAP(FileInfo, FileInfoMap); WX_DECLARE_STRING_HASH_MAP(FileInfo, FileInfoMap);
static FileInfoMap s_fileInfo(25); // Cygwin bug (?) destructor for global s_fileInfo is called twice...
static FileInfoMap& GetFileInfoMap()
{
static FileInfoMap s_fileInfo(25);
return s_fileInfo;
}
#define s_fileInfo (GetFileInfoMap())
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Other initialization. // Other initialization.