Index: core/src/fxcrt/fx_basic_memmgr.cpp |
diff --git a/core/src/fxcrt/fx_basic_memmgr.cpp b/core/src/fxcrt/fx_basic_memmgr.cpp |
index 3b3211c20f270fdb345872d1bb71a28cb3d3257d..63c609daec639f073c38f179dcad83a299532b60 100644 |
--- a/core/src/fxcrt/fx_basic_memmgr.cpp |
+++ b/core/src/fxcrt/fx_basic_memmgr.cpp |
@@ -4,10 +4,9 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
-#include "../../include/fxcrt/fx_basic.h" |
-#ifdef __cplusplus |
-extern "C" { |
-#endif |
+#include <stdlib.h> // For abort(). |
+#include "../../include/fxcrt/fx_memory.h" |
+ |
void* FXMEM_DefaultAlloc(size_t byte_size, int flags) |
{ |
return (void*)malloc(byte_size); |
@@ -20,9 +19,13 @@ void FXMEM_DefaultFree(void* pointer, int flags) |
{ |
free(pointer); |
} |
-#ifdef __cplusplus |
+ |
+NEVER_INLINE void FX_OutOfMemoryTerminate() { |
+ // Termimate cleanly if we can, else crash at a specific address (0xbd). |
+ abort(); |
+ reinterpret_cast<void(*)()>(0xbd)(); |
} |
-#endif |
+ |
CFX_GrowOnlyPool::CFX_GrowOnlyPool(size_t trunk_size) |
{ |
m_TrunkSize = trunk_size; |