]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
fixes to
[wxWidgets.git] / src / msw / textctrl.cpp
index 7d2875e37c83eb98fa0e0eee324a0d4691f6c970..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);
+
+#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;
 }
 
@@ -1693,18 +1701,18 @@ bool wxRichEditModule::Load(int version)
     // make it the index in the array
     version--;
 
-    if ( ms_hRichEdit[version] )
-    {
-        // we've already got this one
-        return TRUE;
-    }
-
     if ( ms_hRichEdit[version] == (HINSTANCE)-1 )
     {
         // we had already tried to load it and failed
         return FALSE;
     }
 
+    if ( ms_hRichEdit[version] )
+    {
+        // we've already got this one
+        return TRUE;
+    }
+
     wxString dllname = version ? _T("riched20") : _T("riched32");
     dllname += _T(".dll");