#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))
// 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__