]> git.saurik.com Git - wxWidgets.git/commitdiff
don't crash when streaming out a wxString into an std::ostream, just set the failbit...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 10 Oct 2008 16:11:40 +0000 (16:11 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 10 Oct 2008 16:11:40 +0000 (16:11 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/string.cpp

index 5729c48c65bdf035423de096875d19c46fa9846e..04a606a3c563b308768b9678347732562de43ac4 100644 (file)
@@ -168,7 +168,13 @@ static wxStrCacheStatsDumper s_showCacheStats;
 wxSTD ostream& operator<<(wxSTD ostream& os, const wxCStrData& str)
 {
 #if wxUSE_UNICODE && !wxUSE_UNICODE_UTF8
-    return os << (const char *)str.AsCharBuf();
+    const wxCharBuffer buf(str.AsCharBuf());
+    if ( !buf )
+        os.clear(wxSTD ios_base::failbit);
+    else
+        os << buf.data();
+
+    return os;
 #else
     return os << str.AsInternal();
 #endif