]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/log.cpp
fixes for file drops in unicode
[wxWidgets.git] / src / common / log.cpp
index 86a83f0954a0dbaf67ae3b0fc028eca2b30afbfa..9ec3b7ae46373087ce446b4ad08f549f1c20a779 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "log.h"
 #endif
 
@@ -33,6 +33,7 @@
 // wxWindows
 #ifndef WX_PRECOMP
     #include "wx/app.h"
+    #include "wx/arrstr.h"
     #include "wx/intl.h"
     #include "wx/string.h"
 #endif //WX_PRECOMP
 #include "wx/wxchar.h"
 
 // other standard headers
+#ifndef __WXWINCE__
 #include <errno.h>
+#endif
+
 #include <stdlib.h>
+
+#ifndef __WXWINCE__
 #include <time.h>
+#else
+#include "wx/msw/wince/time.h"
+#endif
 
 #if defined(__WINDOWS__)
     #include "wx/msw/private.h" // includes windows.h
@@ -178,7 +187,11 @@ void wxVLogFatalError(const wxChar *szFormat, va_list argptr)
 
     wxSafeShowMessage(_T("Fatal Error"), s_szBuf);
 
+#ifdef __WXWINCE__
+    ExitThread(3);
+#else
     abort();
+#endif
 }
 
 void wxLogFatalError(const wxChar *szFormat, ...)
@@ -454,7 +467,11 @@ void wxLog::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
             DoLogString(wxString(_("Fatal error: ")) + szString, t);
             DoLogString(_("Program aborted."), t);
             Flush();
+#ifdef __WXWINCE__
+            ExitThread(3);
+#else
             abort();
+#endif
             break;
 
         case wxLOG_Error:
@@ -497,6 +514,16 @@ void wxLog::Flush()
     // nothing to do here
 }
 
+/*static*/ bool wxLog::IsAllowedTraceMask(const wxChar *mask)
+{
+    for ( wxArrayString::iterator it = ms_aTraceMasks.begin(),
+                                  en = ms_aTraceMasks.end();
+         it != en; ++it )
+        if ( *it == mask)
+            return true;
+    return false;
+}
+
 // ----------------------------------------------------------------------------
 // wxLogStderr class implementation
 // ----------------------------------------------------------------------------
@@ -694,12 +721,7 @@ static void wxLogWrap(FILE *f, const char *pszPrefix, const char *psz)
 unsigned long wxSysErrorCode()
 {
 #if defined(__WXMSW__) && !defined(__WXMICROWIN__)
-#ifdef  __WIN32__
     return ::GetLastError();
-#else   //WIN16
-    // TODO what to do on Windows 3.1?
-    return 0;
-#endif  //WIN16/32
 #else   //Unix
     return errno;
 #endif  //Win/Unix
@@ -712,7 +734,6 @@ const wxChar *wxSysErrorMsg(unsigned long nErrCode)
         nErrCode = wxSysErrorCode();
 
 #if defined(__WXMSW__) && !defined(__WXMICROWIN__)
-#ifdef  __WIN32__
     static wxChar s_szBuf[LOG_BUFFER_SIZE / 2];
 
     // get error message from system
@@ -744,11 +765,7 @@ const wxChar *wxSysErrorMsg(unsigned long nErrCode)
     }
 
     return s_szBuf;
-#else   //Win16
-    // TODO
-    return NULL;
-#endif // Win16/32
-#else   // Unix
+#else   // Unix-WXMICROWIN
 #if wxUSE_UNICODE
     static wxChar s_szBuf[LOG_BUFFER_SIZE / 2];
     wxConvCurrent->MB2WC(s_szBuf, strerror(nErrCode), WXSIZEOF(s_szBuf) -1);
@@ -756,7 +773,7 @@ const wxChar *wxSysErrorMsg(unsigned long nErrCode)
 #else
     return strerror((int)nErrCode);
 #endif
-#endif  // Win/Unix
+#endif  // Win/Unix-WXMICROWIN
 }
 
 #endif // wxUSE_LOG