X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/28978e0c5af8ec9a6ee0ab82456567cbfca221f7..5dbb17e27f5a64c7390c54223abce40ae32ecaa8:/src/msw/textctrl.cpp diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 5189b09808..200b599bf4 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -552,9 +552,15 @@ bool wxTextCtrl::StreamIn(const wxString& value, // next translate to Unicode using this code page int len = ::MultiByteToWideChar(codepage, 0, value, -1, NULL, 0); + +#if wxUSE_WCHAR_T wxWCharBuffer wchBuf(len); +#else + wchar_t *wchBuf = (wchar_t *)malloc((len + 1)*sizeof(wchar_t)); +#endif + if ( !::MultiByteToWideChar(codepage, 0, value, -1, - (wchar_t *)wchBuf.data(), len) ) + (wchar_t *)(const wchar_t *)wchBuf, len) ) { wxLogLastError(_T("MultiByteToWideChar")); } @@ -576,10 +582,12 @@ bool wxTextCtrl::StreamIn(const wxString& value, (LPARAM)&eds) || eds.dwError ) { wxLogLastError(_T("EM_STREAMIN")); - - return FALSE; } +#if !wxUSE_WCHAR_T + free(wchBuf); +#endif // !wxUSE_WCHAR_T + return TRUE; }