} ENLINK;
#endif // ENLINK
+#ifndef SF_UNICODE
+ #define SF_UNICODE 0x0010
+#endif
+
// ----------------------------------------------------------------------------
// private functions
// ----------------------------------------------------------------------------
bool wxTextCtrl::StreamIn(const wxString& value, wxFontEncoding encoding)
{
+#if !wxUSE_UNICODE
// we have to use EM_STREAMIN to force richedit control 2.0+ to show any
// text in the non default charset - otherwise it thinks it knows better
// than we do and always shows it in the default one
// finally, stream it in the control
const wchar_t *wpc = wchBuf;
+#else
+ const wchar_t *wpc = value.c_str();
+#endif
EDITSTREAM eds;
wxZeroMemory(eds);
eds.dwCookie = (DWORD)&wpc;
- eds.pfnCallback = wxRichEditStreamIn;
-
-#ifndef SF_UNICODE
-#define SF_UNICODE 0x0010
-#endif
+ // the cast below is needed for broken (very) old mingw32 headers
+ eds.pfnCallback = (EDITSTREAMCALLBACK)wxRichEditStreamIn;
if ( !::SendMessage(GetHwnd(), EM_STREAMIN,
SF_TEXT | SF_UNICODE | SFF_SELECTION,