From 85b9d7535a876cb3253f06f3b1e0ade270508f26 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 5 Jan 2015 01:46:36 +0000 Subject: [PATCH] Make sure destructor is called for each element --- renderdoc/api/replay/basic_types.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/renderdoc/api/replay/basic_types.h b/renderdoc/api/replay/basic_types.h index 57d2a892d..26887328f 100644 --- a/renderdoc/api/replay/basic_types.h +++ b/renderdoc/api/replay/basic_types.h @@ -55,7 +55,12 @@ struct array array() : elems(0), count(0) {} ~array() { Delete(); } - void Delete() { deallocate(elems); elems = 0; count = 0; } + void Delete() + { + for(int32_t i=0; i < count; i++) elems[i].~T(); + deallocate(elems); + elems = 0; count = 0; + } static void deallocate(const void *p) { free((void *)p); } static void *allocate(size_t s) { return malloc(s); }