瀏覽代碼

update

revert console.h to best working version
wrap includes around the TORQUE_DISABLE_MEMORY_MANAGER macro
in torqueConfig.h.in add check for whether we are in release and make sure TORQUE_DISABLE_MEMORY_MANAGER is defined.
marauder2k7 5 月之前
父節點
當前提交
5cc2abc9ae
共有 3 個文件被更改,包括 20 次插入6 次删除
  1. 7 1
      Engine/source/console/console.h
  2. 9 5
      Engine/source/platform/platformMemory.cpp
  3. 4 0
      Tools/CMake/torqueConfig.h.in

+ 7 - 1
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:

+ 9 - 5
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 <windows.h>
 #include <dbghelp.h>
@@ -40,6 +42,8 @@
 #include <ctime>
 #include <string>
 
+#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)
             {

+ 4 - 0
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