#include "wx/defs.h"
+#if wxUSE_THREADS
+ class WXDLLIMPEXP_FWD_BASE wxCriticalSection;
+#endif
+
// ----------------------------------------------------------------------------
// common constants for use in wxUSE_LOG/!wxUSE_LOG
// ----------------------------------------------------------------------------
#endif
// log a message indicating the number of times the previous message was
- // repeated; only does something if ms_prevCounter > 0
- static void LogLastRepetitionCountIfNeeded();
+ // repeated if ms_prevCounter > 0, does nothing otherwise; return the old
+ // value of ms_prevCounter
+ unsigned LogLastRepeatIfNeeded();
private:
+ // implement of LogLastRepeatIfNeeded(): it assumes that the
+ // caller had already locked ms_prevCS
+ unsigned LogLastRepeatIfNeededUnlocked();
+
// static variables
// ----------------
// with the number of times it was repeated
static bool ms_bRepetCounting;
+#if wxUSE_THREADS
+ static wxCriticalSection ms_prevCS; // protects the ms_prev values below
+#endif
static wxString ms_prevString; // previous message that was logged
static unsigned ms_prevCounter; // how many times it was repeated
static time_t ms_prevTimeStamp;// timestamp of the previous message