Make calling wxLog::IsAllowedTraceMask() safe during static init time.

Although using wxLog during statics initialization is not recommended, it may
still happen, possibly indirectly so make it work correctly by using an
accessor function for the array of trace masks which ensures that this array
is always correctly initialized before being used.

Closes #11592.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-01-04 12:22:42 +00:00
parent 595c23b34e
commit 55e5154d2c
2 changed files with 40 additions and 14 deletions

View File

@@ -453,7 +453,7 @@ public:
// get string trace masks: note that this is MT-unsafe if other threads can
// call AddTraceMask() concurrently
static const wxArrayString& GetTraceMasks() { return ms_aTraceMasks; }
static const wxArrayString& GetTraceMasks();
// sets the time stamp string format: this is used as strftime() format
// string for the log targets which add time stamps to the messages; set
@@ -644,9 +644,6 @@ private:
#if WXWIN_COMPATIBILITY_2_8
static wxTraceMask ms_ulTraceMask; // controls wxLogTrace behaviour
#endif // WXWIN_COMPATIBILITY_2_8
// currently enabled trace masks
static wxArrayString ms_aTraceMasks;
};
// ----------------------------------------------------------------------------