+
+ std::string strOutput;
+ sys_verror (strOutput, severity, msg, arg);
+
+#ifdef HAVE_WXWINDOWS
+ if (g_bRunningWXWindows) {
+ if (theApp) {
+ wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
+ wxString msg (strOutput.c_str());
+ if (msg.length() > 0) {
+ msg += "\n";
+ eventLog.SetString( msg );
+ wxPostEvent( theApp->getMainFrame(), eventLog ); // send log event, thread safe
+ }
+ } else {
+ wxMutexGuiEnter();
+ wxLog::OnLog (wxLOG_Message, strOutput.c_str(), time(NULL));
+ wxMutexGuiLeave();
+ }
+ }
+ else
+ std::cout << strOutput << "\n";
+#else
+ std::cout << strOutput << "\n";
+#endif