From e45d7a7060454a9cd80db56772ac5ce0891fa95d Mon Sep 17 00:00:00 2001 From: omar Date: Sun, 21 Jan 2018 18:54:22 +0100 Subject: [PATCH] Context: Added IMGUI_DISABLE_DEFAULT_ALLOCATORS to disable linking with malloc/free. (#1565, #586, #992, #1007, #1558) --- imgui.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/imgui.cpp b/imgui.cpp index 71e6371d..99839f4c 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -713,8 +713,13 @@ ImGuiContext* GImGui = &GImDefaultContext; // Memory Allocator Functions. Use SetMemoryAllocators() to change them. // If you use DLL hotreloading you might need to call SetMemoryAllocators() after reloading code from this file. // Otherwise, you probably don't want to modify them mid-program, and if you use global/static e.g. ImVector<> instances you may need to keep them accessible during program destruction. +#ifndef IMGUI_DISABLE_DEFAULT_ALLOCATORS static void* MallocWrapper(size_t size, void* user_data) { (void)user_data; return malloc(size); } static void FreeWrapper(void* ptr, void* user_data) { (void)user_data; free(ptr); } +#else +static void* MallocWrapper(size_t size, void* user_data) { (void)user_data; (void)size; IM_ASSERT(0); return NULL; } +static void FreeWrapper(void* ptr, void* user_data) { (void)user_data; (void)ptr; IM_ASSERT(0); } +#endif static void* (*GImAllocatorAllocFunc)(size_t size, void* user_data) = MallocWrapper; static void (*GImAllocatorFreeFunc)(void* ptr, void* user_data) = FreeWrapper;