]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/log.cpp
Ehm... fixed my comment about DJGPP to say what I wanted it to say
[wxWidgets.git] / src / common / log.cpp
index 1ec107772293397aad5fe66f5bcb533f0ccf5467..be03d3c4c8b3a9e12f476e81d01dc663801b6cb9 100644 (file)
@@ -418,7 +418,7 @@ wxLogStderr::wxLogStderr(FILE *fp)
         m_fp = fp;
 }
 
-#if defined(__WXMAC__) && !defined(__UNIX__)
+#if defined(__WXMAC__) && !defined(__DARWIN__)
 #define kDebuggerSignature        'MWDB'
 
 static Boolean FindProcessBySignature(OSType signature, ProcessInfoRec* info)
@@ -514,7 +514,7 @@ void wxLogStderr::DoLogString(const wxChar *szString, time_t WXUNUSED(t))
     str += wxT("\r\n") ;
     OutputDebugString(str.c_str());
 #endif // MSW
-#if defined(__WXMAC__) && !defined(__WXMAC_X__) && wxUSE_GUI
+#if defined(__WXMAC__) && !defined(__DARWIN__) && wxUSE_GUI
     Str255 pstr ;
     strcpy( (char*) pstr , str.c_str() ) ;
     strcat( (char*) pstr , ";g" ) ;
@@ -615,6 +615,24 @@ void wxLogChain::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
     }
 }
 
+// ----------------------------------------------------------------------------
+// wxLogPassThrough
+// ----------------------------------------------------------------------------
+
+#ifdef __VISUALC__
+    // "'this' : used in base member initializer list" - so what?
+    #pragma warning(disable:4355)
+#endif // VC++
+
+wxLogPassThrough::wxLogPassThrough()
+                : wxLogChain(this)
+{
+}
+
+#ifdef __VISUALC__
+    #pragma warning(default:4355)
+#endif // VC++
+
 // ============================================================================
 // Global functions/variables
 // ============================================================================
@@ -714,7 +732,10 @@ const wxChar *wxSysErrorMsg(unsigned long nErrCode)
             0, NULL);
 
     // copy it to our buffer and free memory
-    wxStrncpy(s_szBuf, (const wxChar *)lpMsgBuf, WXSIZEOF(s_szBuf) - 1);
+    if( lpMsgBuf != 0 )
+        wxStrncpy(s_szBuf, (const wxChar *)lpMsgBuf, WXSIZEOF(s_szBuf) - 1);
+    else
+        s_szBuf[0] = wxT('\0');
     s_szBuf[WXSIZEOF(s_szBuf) - 1] = wxT('\0');
     LocalFree(lpMsgBuf);