]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
fix for wxSYS_COLOUR_LISTBOX representation
[wxWidgets.git] / src / msw / textctrl.cpp
index 5189b09808ba2ff53031747bb517a3d094abdaea..200b599bf4f33cbbc35a7904a52dbe76b54578dd 100644 (file)
@@ -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);
 
     // next translate to Unicode using this code page
     int len = ::MultiByteToWideChar(codepage, 0, value, -1, NULL, 0);
+
+#if wxUSE_WCHAR_T
     wxWCharBuffer wchBuf(len);
     wxWCharBuffer wchBuf(len);
+#else
+    wchar_t *wchBuf = (wchar_t *)malloc((len + 1)*sizeof(wchar_t));
+#endif
+
     if ( !::MultiByteToWideChar(codepage, 0, value, -1,
     if ( !::MultiByteToWideChar(codepage, 0, value, -1,
-                                (wchar_t *)wchBuf.data(), len) )
+                                (wchar_t *)(const wchar_t *)wchBuf, len) )
     {
         wxLogLastError(_T("MultiByteToWideChar"));
     }
     {
         wxLogLastError(_T("MultiByteToWideChar"));
     }
@@ -576,10 +582,12 @@ bool wxTextCtrl::StreamIn(const wxString& value,
                         (LPARAM)&eds) || eds.dwError )
     {
         wxLogLastError(_T("EM_STREAMIN"));
                         (LPARAM)&eds) || eds.dwError )
     {
         wxLogLastError(_T("EM_STREAMIN"));
-
-        return FALSE;
     }
 
     }
 
+#if !wxUSE_WCHAR_T
+    free(wchBuf);
+#endif // !wxUSE_WCHAR_T
+
     return TRUE;
 }
 
     return TRUE;
 }