// current is NULL?
static void DontCreateOnDemand();
+ // Make GetActiveTarget() create a new log object again.
+ static void DoCreateOnDemand();
+
// log the count of repeating messages instead of logging the messages
// multiple times
static void SetRepetitionCounting(bool bRepetCounting = true)
// can't use WX_WATCOM_ONLY_CODE here because the macro would expand to
// something too big for Borland C++ to handle
#define DECLARE_LOG_FUNCTION_WATCOM(level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const wxString&), \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const wxCStrData&), \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
1, (const char*), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
1, (const wchar_t*), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 1, (const wxCStrData&), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8)
+ (wxFormatString(f1)))
#else
#define DECLARE_LOG_FUNCTION_WATCOM(level)
#endif
// can't use WX_WATCOM_ONLY_CODE here because the macro would expand to
// something too big for Borland C++ to handle
#define DECLARE_LOG_FUNCTION2_EXP_WATCOM(level, argclass, arg, expdecl) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 2, (argclass, const wxString&), \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 2, (argclass, const wxCStrData&), \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
2, (argclass, const char*), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
2, (argclass, const wchar_t*), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 2, (argclass, const wxCStrData&), \
- wxDoLog##level##Wchar, \
- wxDoLog##level##Utf8)
+ (f1, wxFormatString(f2)))
#else
#define DECLARE_LOG_FUNCTION2_EXP_WATCOM(level, argclass, arg, expdecl)
#endif
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 1, (const wxCStrData&)) \
) \
inline void wxVLog##level(const wxString& WXUNUSED(format), \
- va_list WXUNUSED(argptr)) { } \
+ va_list WXUNUSED(argptr)) { } \
#define DECLARE_LOG_FUNCTION2_EXP(level, argclass, arg, expdecl) \
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 2, (argclass, const wxString&)) \
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 2, (argclass, const wxCStrData&)) \
) \
inline void wxVLog##level(argclass WXUNUSED(arg), \
- const wxString& WXUNUSED(format), \
- va_list WXUNUSED(argptr)) {}
+ const wxString& WXUNUSED(format), \
+ va_list WXUNUSED(argptr)) {}
// Empty Class to fake wxLogNull
class WXDLLIMPEXP_BASE wxLogNull
#ifdef __VISUALC__
#define wxLogApiError(api, rc) \
wxLogDebug(wxT("%s(%d): '%s' failed with error 0x%08lx (%s)."), \
- __TFILE__, __LINE__, api, \
+ __FILE__, __LINE__, api, \
(long)rc, wxSysErrorMsg(rc))
#else // !VC++
#define wxLogApiError(api, rc) \
wxLogDebug(wxT("In file %s at line %d: '%s' failed with ") \
wxT("error 0x%08lx (%s)."), \
- __TFILE__, __LINE__, api, \
+ __FILE__, __LINE__, api, \
(long)rc, wxSysErrorMsg(rc))
#endif // VC++/!VC++