define WXDEBUG_NEW to use special VC++-specific new version too (closes 1386286)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
66493fc767
commit
70bf61807a
@ -49,12 +49,15 @@
|
||||
|
||||
#include <crtdbg.h>
|
||||
|
||||
#undef WXDEBUG_NEW
|
||||
#define WXDEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
|
||||
|
||||
// this define works around a bug with inline declarations of new, see
|
||||
//
|
||||
// http://support.microsoft.com/support/kb/articles/Q140/8/58.asp
|
||||
//
|
||||
// for the details
|
||||
#define new new( _NORMAL_BLOCK, __FILE__, __LINE__)
|
||||
#define new WXDEBUG_NEW
|
||||
|
||||
#define wxCrtSetDbgFlag(flag) \
|
||||
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | (flag))
|
||||
|
@ -540,23 +540,24 @@ private :
|
||||
// more debugging macros
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifdef __WXDEBUG__
|
||||
#ifndef WXDEBUG_NEW
|
||||
#define WXDEBUG_NEW new(__TFILE__,__LINE__)
|
||||
#endif
|
||||
#else // !__WXDEBUG__
|
||||
#define WXDEBUG_NEW new
|
||||
#endif
|
||||
|
||||
// Redefine new to be the debugging version. This doesn't work with all
|
||||
// compilers, in which case you need to use WXDEBUG_NEW explicitly if you wish
|
||||
// to use the debugging version.
|
||||
|
||||
#if defined(__WXDEBUG__) && wxUSE_GLOBAL_MEMORY_OPERATORS && wxUSE_DEBUG_NEW_ALWAYS
|
||||
#define new new(__TFILE__,__LINE__)
|
||||
#elif (defined(__WXDEBUG__) && defined(__VISUALC__) && !wxUSE_GLOBAL_MEMORY_OPERATORS && wxUSE_DEBUG_NEW_ALWAYS)
|
||||
// Including this file redefines new and allows leak reports to contain line numbers
|
||||
#include "wx/msw/msvcrt.h"
|
||||
#endif
|
||||
#ifdef __WXDEBUG__
|
||||
#define WXDEBUG_NEW new(__TFILE__,__LINE__)
|
||||
|
||||
#if wxUSE_DEBUG_NEW_ALWAYS
|
||||
#if wxUSE_GLOBAL_MEMORY_OPERATORS
|
||||
#define new WXDEBUG_NEW
|
||||
#elif defined(__VISUALC__)
|
||||
// Including this file redefines new and allows leak reports to
|
||||
// contain line numbers
|
||||
#include "wx/msw/msvcrt.h"
|
||||
#endif
|
||||
#endif // wxUSE_DEBUG_NEW_ALWAYS
|
||||
#else // !__WXDEBUG__
|
||||
#define WXDEBUG_NEW new
|
||||
#endif // __WXDEBUG__/!__WXDEBUG__
|
||||
|
||||
#endif // _WX_OBJECTH__
|
||||
|
Loading…
Reference in New Issue
Block a user