diff --git a/modules/beast_core/diagnostic/beast_Debug.cpp b/modules/beast_core/diagnostic/beast_Debug.cpp index d8e1245d..e52ea11a 100644 --- a/modules/beast_core/diagnostic/beast_Debug.cpp +++ b/modules/beast_core/diagnostic/beast_Debug.cpp @@ -36,6 +36,20 @@ void breakPoint () #if BEAST_MSVC && defined (_DEBUG) +#if BEAST_CHECK_MEMORY_LEAKS +struct DebugFlagsInitialiser +{ + DebugFlagsInitialiser() + { + // Activate leak checks on exit in the MSVC Debug CRT (C Runtime) + // + _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); + } +}; + +static DebugFlagsInitialiser debugFlagsInitialiser; +#endif + void setAlwaysCheckHeap (bool bAlwaysCheck) { int flags = _CrtSetDbgFlag (_CRTDBG_REPORT_FLAG); diff --git a/modules/beast_core/native/beast_win32_SystemStats.cpp b/modules/beast_core/native/beast_win32_SystemStats.cpp index f6568e1b..36892418 100644 --- a/modules/beast_core/native/beast_win32_SystemStats.cpp +++ b/modules/beast_core/native/beast_win32_SystemStats.cpp @@ -115,18 +115,6 @@ SystemStats::CPUFlags::CPUFlags() numCpus = (int) systemInfo.dwNumberOfProcessors; } -#if BEAST_MSVC && BEAST_CHECK_MEMORY_LEAKS -struct DebugFlagsInitialiser -{ - DebugFlagsInitialiser() - { - _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); - } -}; - -static DebugFlagsInitialiser debugFlagsInitialiser; -#endif - //============================================================================== SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() {