diff --git a/include/wx/strconv.h b/include/wx/strconv.h index 5d93e872ce..72423f8c77 100644 --- a/include/wx/strconv.h +++ b/include/wx/strconv.h @@ -210,7 +210,12 @@ private: bool m_deferred; }; +#ifdef __WXOSX__ +#define wxConvFile wxConvUTF8 +#else #define wxConvFile wxConvLocal +#endif + WXDLLIMPEXP_DATA_BASE(extern wxCSConv&) wxConvLocal; WXDLLIMPEXP_DATA_BASE(extern wxCSConv&) wxConvISO8859_1; WXDLLIMPEXP_DATA_BASE(extern wxMBConv *) wxConvCurrent; @@ -241,8 +246,12 @@ WXDLLIMPEXP_DATA_BASE(extern wxMBConv *) wxConvCurrent; #if wxMBFILES && wxUSE_UNICODE #define wxFNCONV(name) wxConvFile.cWX2MB(name) #define wxFNSTRINGCAST wxMBSTRINGCAST +#else +#if defined( __WXOSX__ ) && wxMBFILES + #define wxFNCONV(name) wxConvFile.cWC2MB( wxConvLocal.cWX2WC(name) ) #else #define wxFNCONV(name) name +#endif #define wxFNSTRINGCAST WXSTRINGCAST #endif diff --git a/include/wx/string.h b/include/wx/string.h index db9a54b8b3..bdd38c93a1 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -830,8 +830,11 @@ public: #if wxUSE_WCHAR_T const wxWCharBuffer wc_str(wxMBConv& conv) const; #endif // wxUSE_WCHAR_T - +#ifdef __WXOSX__ + const wxCharBuffer fn_str() const { return wxConvFile.cWC2WX( wc_str( wxConvLocal ) ); } +#else const wxChar* fn_str() const { return c_str(); } +#endif #endif // Unicode/ANSI // overloaded assignment