X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9cce3be7ae2ee83e51c3fa91423acfa390998eaf..894406521a0058c3e06b957f32564043f23ad231:/src/common/log.cpp diff --git a/src/common/log.cpp b/src/common/log.cpp index 6e51ac79dd..4da49d8fe9 100644 --- a/src/common/log.cpp +++ b/src/common/log.cpp @@ -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 @@ -47,9 +48,17 @@ #include "wx/wxchar.h" // other standard headers +#ifndef __WXWINCE__ #include +#endif + #include + +#ifndef __WXWINCE__ #include +#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, ...) @@ -384,7 +397,7 @@ wxLog *wxLog::GetActiveTarget() // ask the application to create a log target for us if ( wxTheApp != NULL ) - ms_pLogger = wxTheApp->CreateLogTarget(); + ms_pLogger = wxTheApp->GetTraits()->CreateLogTarget(); else ms_pLogger = new wxLogStderr; @@ -425,7 +438,7 @@ void wxLog::RemoveTraceMask(const wxString& str) { int index = ms_aTraceMasks.Index(str); if ( index != wxNOT_FOUND ) - ms_aTraceMasks.Remove((size_t)index); + ms_aTraceMasks.RemoveAt((size_t)index); } void wxLog::ClearTraceMasks() @@ -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 // ----------------------------------------------------------------------------