diff --git a/Engine/source/console/console.h b/Engine/source/console/console.h index 6a1dc7942..e5ba8ffe7 100644 --- a/Engine/source/console/console.h +++ b/Engine/source/console/console.h @@ -154,7 +154,7 @@ class ConsoleValue TORQUE_FORCEINLINE bool hasAllocatedData() const { - return (type == ConsoleValueType::cvString || isConsoleType()) && data != NULL; + return (isConsoleType() && data != NULL); } const char* getConsoleData() const; @@ -166,6 +166,12 @@ class ConsoleValue dFree(data); data = NULL; } + else if (type == ConsoleValueType::cvString) + { + if (s != StringTable->EmptyString()) + dFree(s); + } + type = ConsoleValueType::cvNULL; } public: diff --git a/Engine/source/platform/platformMemory.cpp b/Engine/source/platform/platformMemory.cpp index 14fd4d02f..557482412 100644 --- a/Engine/source/platform/platformMemory.cpp +++ b/Engine/source/platform/platformMemory.cpp @@ -30,6 +30,8 @@ #include "platform/threads/mutex.h" #include "core/module.h" +#if !defined(TORQUE_DISABLE_MEMORY_MANAGER) + #ifdef _WIN32 #include #include @@ -40,6 +42,8 @@ #include #include +#endif + // If profile paths are enabled, disable profiling of the // memory manager as that would cause a cyclic dependency // through the string table's allocation stuff used by the @@ -177,11 +181,11 @@ namespace Memory #endif } - //if (report.find("getDocsLink") != std::string::npos) - //{ - // //known issue. one off allocation - // memLog[curRep].skip = true; - //} + if (report.find("getDocsLink") != std::string::npos) + { + //known issue. one off allocation + memLog[curRep].skip = true; + } for (U32 oldRep = start; oldRep < curRep; ++oldRep) { diff --git a/Tools/CMake/torqueConfig.h.in b/Tools/CMake/torqueConfig.h.in index 717c05eb1..b96a7c7d1 100644 --- a/Tools/CMake/torqueConfig.h.in +++ b/Tools/CMake/torqueConfig.h.in @@ -56,6 +56,10 @@ /// Define me if you want to disable Torque memory manager. #cmakedefine TORQUE_DISABLE_MEMORY_MANAGER +#ifdef TORQUE_RELEASE +#define TORQUE_DISABLE_MEMORY_MANAGER +#endif + /// Define me if you want to disable the virtual mount system. #cmakedefine TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM