r589: Added threaded rasterizer
[ctsim.git] / libctsupport / syserror.cpp
index 5b4e6315a3f993fe7f7b9af7adb73077554d3670..b874f07d8ca334654115fccaf6acb76fbb910228 100644 (file)
@@ -2,7 +2,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: syserror.cpp,v 1.21 2001/02/20 04:48:45 kevin Exp $
+**  $Id: syserror.cpp,v 1.22 2001/02/27 03:59:30 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -55,10 +55,17 @@ void sys_error (int severity, const char *msg, ...)
  
 #ifdef HAVE_WXWINDOWS
   if (g_bRunningWXWindows) {
-    if (theApp)
-      *theApp->getLog() << strOutput.c_str() << "\n";
-    else
+    if (theApp) {
+      wxCommandEvent eventLog (wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT );
+      wxString msg (strOutput.c_str());
+      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
 #endif