X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5128e3be6818bfce55a585955e158e88961ba0f8..e9159fe8e8f1b3653c506805cbb79280aa2a0f38:/src/common/appcmn.cpp diff --git a/src/common/appcmn.cpp b/src/common/appcmn.cpp index 59e2ef34c6..dca1e2af50 100644 --- a/src/common/appcmn.cpp +++ b/src/common/appcmn.cpp @@ -40,6 +40,8 @@ #include "wx/cmdline.h" #include "wx/thread.h" #include "wx/confbase.h" +#include "wx/tokenzr.h" +#include "wx/utils.h" #if !defined(__WXMSW__) || defined(__WXMICROWIN__) #include // for SIGTRAP used by wxTrap() @@ -61,12 +63,26 @@ // initialization and termination // ---------------------------------------------------------------------------- +#ifdef __WXDEBUG__ +static void LINKAGEMODE SetTraceMasks() +{ + wxString mask; + if ( wxGetEnv(wxT("WXTRACE"), &mask) ) + { + wxStringTokenizer tkn(mask, wxT(",")); + while ( tkn.HasMoreTokens() ) + wxLog::AddTraceMask(tkn.GetNextToken()); + } +} +#endif + wxAppBase::wxAppBase() { wxTheApp = (wxApp *)this; - // VZ: what's this? is it obsolete? +#if WXWIN_COMPATIBILITY_2_2 m_wantDebugOutput = FALSE; +#endif // WXWIN_COMPATIBILITY_2_2 #if wxUSE_GUI m_topWindow = (wxWindow *)NULL; @@ -74,6 +90,15 @@ wxAppBase::wxAppBase() m_exitOnFrameDelete = TRUE; m_isActive = TRUE; #endif // wxUSE_GUI + +#ifdef __WXDEBUG__ + SetTraceMasks(); +#endif +} + +wxAppBase::~wxAppBase() +{ + // this destructor is required for Darwin } #if wxUSE_GUI