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:
parent
91f580b235
commit
17ebae657e
@ -474,7 +474,7 @@ STDMETHODIMP wxIDataObject::SetData(FORMATETC *pformatetc,
|
||||
|| ( defined(__MWERKS__) && defined(__WXMSW__) )
|
||||
size = std::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
|
||||
#else
|
||||
size = ::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
|
||||
size = wxWcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
|
@ -102,7 +102,7 @@ static WNetCloseEnumPtr s_pWNetCloseEnum;
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
static long s_cancelSearch = FALSE;
|
||||
|
||||
struct FileInfo : public wxObject
|
||||
struct FileInfo
|
||||
{
|
||||
FileInfo(unsigned flag=0, wxFSVolumeKind type=wxFS_VOL_OTHER) :
|
||||
m_flags(flag), m_type(type) {}
|
||||
@ -119,7 +119,14 @@ struct FileInfo : public wxObject
|
||||
wxFSVolumeKind m_type;
|
||||
};
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user