]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/appcmn.cpp
Hopefully corrected conversion buffer size.
[wxWidgets.git] / src / common / appcmn.cpp
index 665e19c19a6d91ae52db5cc70facd489e49043b0..2398dad313fc922cc080d3a163589646bd27d010 100644 (file)
@@ -42,6 +42,7 @@
 #include "wx/confbase.h"
 #include "wx/tokenzr.h"
 #include "wx/utils.h"
+#include "wx/msgout.h"
 
 #if wxUSE_GUI
     #include "wx/artprov.h"
@@ -188,12 +189,34 @@ int wxAppBase::FilterEvent(wxEvent& WXUNUSED(event))
     return -1;
 }
 
+void wxAppBase::DoInit()
+{
+    if (wxMessageOutput::Get())
+        return;
+        
+    // NB: The standard way of printing help on command line arguments (app --help)
+    //     is (according to common practice):
+    //     - console apps: to stderr (on any platform)
+    //     - GUI apps: stderr on Unix platforms (!)
+    //                 message box under Windows and others
+#if wxUSE_GUI && !defined(__UNIX__)
+    #ifdef __WXMOTIF__
+    wxMessageOutput::Set(new wxMessageOutputLog);
+    #else
+    wxMessageOutput::Set(new wxMessageOutputMessageBox);
+    #endif
+#else
+    wxMessageOutput::Set(new wxMessageOutputStderr);
+#endif
+}
+
 // ----------------------------------------------------------------------------
 // cmd line parsing
 // ----------------------------------------------------------------------------
 
 bool wxAppBase::OnInit()
 {
+    DoInit();
 #if wxUSE_CMDLINE_PARSER
     wxCmdLineParser parser(argc, argv);