X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/784ee7d511ddec88c2a53c1b50c85850eb341dc6..d57d0505d4c2186592833f18c3d40532d3a4bf0e:/src/common/msgout.cpp diff --git a/src/common/msgout.cpp b/src/common/msgout.cpp index e6a471d9b3..9647088067 100644 --- a/src/common/msgout.cpp +++ b/src/common/msgout.cpp @@ -118,7 +118,13 @@ void wxMessageOutputBest::Output(const wxString& str) return; } - ::MessageBox(NULL, str.wx_str(), NULL, MB_ICONINFORMATION | MB_OK); + wxString title; + if ( wxTheApp ) + title = wxTheApp->GetAppDisplayName(); + else // Use some title to avoid default "Error" + title = _("Message"); + + ::MessageBox(NULL, str.t_str(), title.t_str(), MB_ICONINFORMATION | MB_OK); #else // !__WINDOWS__ // TODO: use the native message box for the other ports too wxMessageOutputStderr::Output(str); @@ -140,12 +146,15 @@ wxString wxMessageOutputStderr::AppendLineFeedIfNeeded(const wxString& str) void wxMessageOutputStderr::Output(const wxString& str) { - const wxWX2MBbuf buf = AppendLineFeedIfNeeded(str).mb_str(); + const wxString strWithLF = AppendLineFeedIfNeeded(str); + const wxWX2MBbuf buf = strWithLF.mb_str(); if ( buf ) - fprintf(stderr, "%s", (const char*) buf); + fprintf(m_fp, "%s", (const char*) buf); else // print at least something - fprintf(stderr, "%s", (const char*) str.ToAscii()); + fprintf(m_fp, "%s", (const char*) strWithLF.ToAscii()); + + fflush(m_fp); } // ---------------------------------------------------------------------------- @@ -154,11 +163,11 @@ void wxMessageOutputStderr::Output(const wxString& str) void wxMessageOutputDebug::Output(const wxString& str) { -#if defined(__WXMSW__) && !defined(__WXMICROWIN__) +#if defined(__WINDOWS__) && !defined(__WXMICROWIN__) wxString out(AppendLineFeedIfNeeded(str)); out.Replace(wxT("\t"), wxT(" ")); out.Replace(wxT("\n"), wxT("\r\n")); - ::OutputDebugString(out.wx_str()); + ::OutputDebugString(out.t_str()); #else // TODO: use native debug output function for the other ports too wxMessageOutputStderr::Output(str); @@ -175,7 +184,7 @@ void wxMessageOutputLog::Output(const wxString& str) out.Replace(wxT("\t"), wxT(" ")); - ::wxLogMessage(wxT("%s"), out.c_str()); + wxLogMessage(wxT("%s"), out.c_str()); } #endif // wxUSE_BASE @@ -186,16 +195,19 @@ void wxMessageOutputLog::Output(const wxString& str) #if wxUSE_GUI && wxUSE_MSGDLG +extern WXDLLEXPORT_DATA(const char) wxMessageBoxCaptionStr[] = "Message"; + void wxMessageOutputMessageBox::Output(const wxString& str) { wxString out(str); // the native MSW msg box understands the TABs, others don't -#ifndef __WXMSW__ +#ifndef __WINDOWS__ out.Replace(wxT("\t"), wxT(" ")); #endif - wxString title = wxTheApp ? wxTheApp->GetAppDisplayName() : wxT("wxWidgets"); + wxString title = wxT("wxWidgets") ; + if (wxTheApp) title = wxTheApp->GetAppDisplayName(); ::wxMessageBox(out, title); }