From a5c89574a3f7e915dd3fe44a73f7f184ce1758e2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 3 May 2019 17:42:08 +0200 Subject: Fix Cycles assert on exit after recent changes --- intern/cycles/device/device_cpu.cpp | 2 +- intern/cycles/util/util_aligned_malloc.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 32911e054fe..5d279ebb965 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -321,7 +321,7 @@ class CPUDevice : public Device { ~CPUDevice() { #ifdef WITH_OSL - delete osl_globals; + util_aligned_delete(osl_globals); #endif task_pool.stop(); texture_info.free(); diff --git a/intern/cycles/util/util_aligned_malloc.h b/intern/cycles/util/util_aligned_malloc.h index a76884b20a5..7115e4cb0c6 100644 --- a/intern/cycles/util/util_aligned_malloc.h +++ b/intern/cycles/util/util_aligned_malloc.h @@ -37,6 +37,14 @@ template T *util_aligned_new() return new (mem) T(); } +template void util_aligned_delete(T *t) +{ + if (t) { + t->~T(); + util_aligned_free(t); + } +} + CCL_NAMESPACE_END #endif /* __UTIL_ALIGNED_MALLOC_H__ */ -- cgit v1.2.3