diff --git a/dtool/src/interrogatedb/config_interrogatedb.cxx b/dtool/src/interrogatedb/config_interrogatedb.cxx index 8f8d83cea9..1e007a4adf 100644 --- a/dtool/src/interrogatedb/config_interrogatedb.cxx +++ b/dtool/src/interrogatedb/config_interrogatedb.cxx @@ -21,11 +21,26 @@ #include +#if defined(WIN32_VC) && defined(_DEBUG) +// _DEBUG assumes you are linking to msvcrt70d.dll, not msvcrt70.dll +#define USE_WIN32_DBGHEAP +#include +#endif + Configure(config_interrogatedb); NotifyCategoryDef(interrogatedb, ""); ConfigureFn(config_interrogatedb) { // interrogate_request_library("types"); + +#ifdef USE_WIN32_DBGHEAP + if(!config_interrogatedb.GetBool("use-win32-dbgheap", false)) { + // deflt disable complete heap verify every 1024 allocations (VC7 deflt). + // With vc7 stl small-string-optimization causing more allocs, + // this can cause order-of-magnitude slowdowns in dbg builds + ::_CrtSetDbgFlag(0x0); + } +#endif } const DSearchPath &