diff --git a/examples/common/entry/entry.cpp b/examples/common/entry/entry.cpp index 60cfbbe5..947d4204 100644 --- a/examples/common/entry/entry.cpp +++ b/examples/common/entry/entry.cpp @@ -22,7 +22,17 @@ namespace entry static bool s_exit = false; static bx::FileReaderI* s_fileReader = NULL; static bx::FileWriterI* s_fileWriter = NULL; - static ENTRY_CONFIG_ALLOCATOR s_allocator; + + extern bx::ReallocatorI* getDefaultAllocator(); + static bx::ReallocatorI* s_allocator = getDefaultAllocator(); + +#if ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR + bx::ReallocatorI* getDefaultAllocator() + { + static bx::CrtAllocator s_allocator; + return &s_allocator; + } +#endif // ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR bool setOrToggle(uint32_t& _flags, const char* _name, uint32_t _bit, int _first, int _argc, char const* const* _argv) { @@ -455,7 +465,7 @@ namespace entry bx::ReallocatorI* getAllocator() { - return &s_allocator; + return s_allocator; } void* TinyStlAllocator::static_allocate(size_t _bytes) diff --git a/examples/common/entry/entry_p.h b/examples/common/entry/entry_p.h index 7a8652dc..39a289ed 100644 --- a/examples/common/entry/entry_p.h +++ b/examples/common/entry/entry_p.h @@ -39,9 +39,9 @@ # error "Both ENTRY_DEFAULT_WIDTH and ENTRY_DEFAULT_HEIGHT must be defined." #endif // ENTRY_DEFAULT_WIDTH -#ifndef ENTRY_CONFIG_ALLOCATOR -# define ENTRY_CONFIG_ALLOCATOR bx::CrtAllocator -#endif // ENTRY_CONFIG_ALLOCATOR +#ifndef ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR +# define ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR 1 +#endif // ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR #define ENTRY_IMPLEMENT_EVENT(_class, _type) \ _class(WindowHandle _handle) : Event(_type, _handle) {}