From 0ff1d7df0c9679ec080a757e5ceae52e15c52244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 13 Feb 2015 09:43:46 -0800 Subject: [PATCH] Better way to configure entry allocator. --- examples/common/entry/entry.cpp | 14 ++++++++++++-- examples/common/entry/entry_p.h | 6 +++--- 2 files changed, 15 insertions(+), 5 deletions(-) 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) {}