X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f2f732921b6456c87ab8d180c5bd14456a5b35f..9c61c5b04b0b023eb9592bde5633c2111f1940fb:/src/common/init.cpp diff --git a/src/common/init.cpp b/src/common/init.cpp index 7af0af2157..6e9f06fad8 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -37,20 +37,22 @@ #include "wx/scopedptr.h" #include "wx/except.h" -#if defined(__WXMSW__) && defined(__WXDEBUG__) +#if defined(__WXMSW__) #include "wx/msw/msvcrt.h" - static struct EnableMemLeakChecking - { - EnableMemLeakChecking() + #ifdef wxCrtSetDbgFlag + static struct EnableMemLeakChecking { - // do check for memory leaks on program exit (another useful flag - // is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free deallocated - // memory which may be used to simulate low-memory condition) - wxCrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); - } - } gs_enableLeakChecks; -#endif // __WXMSW__ && __WXDEBUG__ + EnableMemLeakChecking() + { + // check for memory leaks on program exit (another useful flag + // is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free deallocated + // memory which may be used to simulate low-memory condition) + wxCrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF); + } + } gs_enableLeakChecks; + #endif // wxCrtSetDbgFlag +#endif // __WXMSW__ // ---------------------------------------------------------------------------- // private classes @@ -250,44 +252,6 @@ static bool DoCommonPostInit() return false; } -#if defined(__WXDEBUG__) - // check if event classes implement Clone() correctly - // NOTE: the check is done against _all_ event classes which are linked to - // the executable currently running, which are not necessarily all - // wxWidgets event classes. - const wxClassInfo *ci = wxClassInfo::GetFirst(); - for (; ci; ci = ci->GetNext()) - { - // is this class derived from wxEvent? - if (!ci->IsKindOf(CLASSINFO(wxEvent)) || wxString(ci->GetClassName()) == "wxEvent") - continue; - - if (!ci->IsDynamic()) - { - wxLogWarning("The event class '%s' should have a DECLARE_DYNAMIC_CLASS macro!", - ci->GetClassName()); - continue; - } - - // yes; test if it implements Clone() correctly - wxEvent* test = wxDynamicCast(ci->CreateObject(),wxEvent); - if (test == NULL) - { - wxLogWarning("The event class '%s' should have a DECLARE_DYNAMIC_CLASS macro!", - ci->GetClassName()); - continue; - } - - wxEvent* cloned = test->Clone(); - if (!cloned || cloned->GetClassInfo() != ci) - wxLogWarning("The event class '%s' does not correctly implement Clone()!", - ci->GetClassName()); - - delete cloned; - delete test; - } -#endif - return true; }