X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90adbcca75bac18a7ab2c55b724f2a2d118cba26..8a7afe4dfef33756855c0e7bd38cf20d0d9a9e2f:/include/wx/log.h diff --git a/include/wx/log.h b/include/wx/log.h index b067fc95b8..b280d7d309 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -476,14 +476,14 @@ WXDLLIMPEXP_BASE const wxChar* wxSysErrorMsg(unsigned long nErrCode = 0); WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, wxDoLog##level) #define DECLARE_LOG_FUNCTION_IMPL(level) \ - extern void WXDLLIMPEXP_BASE wxVLog##level(const wxChar *szFormat, \ + extern void WXDLLIMPEXP_BASE wxVLog##level(const wxString& format, \ va_list argptr); \ - extern void WXDLLIMPEXP_BASE wxDoLog##level(const wxChar *szFormat, \ - ...) ATTRIBUTE_PRINTF_1 + extern void WXDLLIMPEXP_BASE \ + wxDoLog##level(const wxChar *szFormat, ...) ATTRIBUTE_PRINTF_1 #define DECLARE_LOG_FUNCTION2_EXP_IMPL(level, argclass, arg, expdecl) \ extern void expdecl wxVLog##level(argclass arg, \ - const wxChar *szFormat, \ + const wxString& format, \ va_list argptr); \ extern void expdecl wxDoLog##level(argclass arg, \ const wxChar *szFormat, \ @@ -497,12 +497,12 @@ WXDLLIMPEXP_BASE const wxChar* wxSysErrorMsg(unsigned long nErrCode = 0); WX_DEFINE_VARARG_FUNC_NOP(wxLog##level) #define DECLARE_LOG_FUNCTION_IMPL(level) \ - inline void wxVLog##level(const wxChar *WXUNUSED(szFormat), \ + inline void wxVLog##level(const wxString& WXUNUSED(format), \ va_list WXUNUSED(argptr)) { } \ #define DECLARE_LOG_FUNCTION2_EXP_IMPL(level, argclass, arg, expdecl) \ inline void wxVLog##level(argclass WXUNUSED(arg), \ - const wxChar *WXUNUSED(szFormat), \ + const wxString& WXUNUSED(format), \ va_list WXUNUSED(argptr)) {} // Empty Class to fake wxLogNull @@ -539,6 +539,12 @@ public: #define DECLARE_LOG_FUNCTION2(level, argclass, arg) \ DECLARE_LOG_FUNCTION2_EXP(level, argclass, arg, WXDLLIMPEXP_BASE) +// VC6 produces a warning if we a macro expanding to nothing to +// DECLARE_LOG_FUNCTION2_IMPL: +#if defined(__VISUALC__) && __VISUALC__ < 1300 + // "not enough actual parameters for macro 'DECLARE_LOG_FUNCTION2_EXP_IMPL'" + #pragma warning(disable:4003) +#endif // a generic function for all levels (level is passes as parameter) DECLARE_LOG_FUNCTION2(Generic, wxLogLevel, level); @@ -584,7 +590,7 @@ DECLARE_LOG_FUNCTION_PUBLIC(SysError) // this version only logs the message if the mask had been added to the // list of masks with AddTraceMask() - DECLARE_LOG_FUNCTION2_IMPL(Trace, const wxChar*, mask); + DECLARE_LOG_FUNCTION2_IMPL(Trace, const wxString&, mask); // and this one does nothing if all of level bits are not set in // wxLog::GetActive()->GetTraceMask() -- it's deprecated in favour of // string identifiers @@ -620,6 +626,10 @@ DECLARE_LOG_FUNCTION_PUBLIC(SysError) #endif // HAVE_VARIADIC_MACROS/!HAVE_VARIADIC_MACROS #endif // debug/!debug +#if defined(__VISUALC__) && __VISUALC__ < 1300 + #pragma warning(default:4003) +#endif + // wxLogFatalError helper: show the (fatal) error to the user in a safe way, // i.e. without using wxMessageBox() for example because it could crash void WXDLLIMPEXP_BASE