diff --git a/panda/src/event/asyncTaskManager.cxx b/panda/src/event/asyncTaskManager.cxx index b80908ddc5..a570609f8a 100644 --- a/panda/src/event/asyncTaskManager.cxx +++ b/panda/src/event/asyncTaskManager.cxx @@ -643,6 +643,7 @@ void AsyncTaskManager:: make_global_ptr() { nassertv(_global_ptr == nullptr); + init_memory_hook(); _global_ptr = new AsyncTaskManager("TaskManager"); _global_ptr->ref(); } diff --git a/panda/src/event/eventHandler.cxx b/panda/src/event/eventHandler.cxx index f74bd8c519..e3e389e1bf 100644 --- a/panda/src/event/eventHandler.cxx +++ b/panda/src/event/eventHandler.cxx @@ -351,6 +351,7 @@ remove_all_hooks() { */ void EventHandler:: make_global_event_handler() { + init_memory_hook(); _global_event_handler = new EventHandler(EventQueue::get_global_event_queue()); } diff --git a/panda/src/event/eventQueue.cxx b/panda/src/event/eventQueue.cxx index bbd07a3725..69c025734c 100644 --- a/panda/src/event/eventQueue.cxx +++ b/panda/src/event/eventQueue.cxx @@ -106,5 +106,6 @@ dequeue_event() { */ void EventQueue:: make_global_event_queue() { + init_memory_hook(); _global_event_queue = new EventQueue; } diff --git a/panda/src/pipeline/thread.cxx b/panda/src/pipeline/thread.cxx index 351e316033..80c32fa7f5 100644 --- a/panda/src/pipeline/thread.cxx +++ b/panda/src/pipeline/thread.cxx @@ -211,6 +211,7 @@ init_main_thread() { static int count = 0; ++count; if (count == 1 && _main_thread == nullptr) { + init_memory_hook(); _main_thread = new MainThread; _main_thread->ref(); } @@ -222,6 +223,7 @@ init_main_thread() { void Thread:: init_external_thread() { if (_external_thread == nullptr) { + init_memory_hook(); _external_thread = new ExternalThread; _external_thread->ref(); }