From c7f04c9d21cacb1264294c7e9e541b4b236e9bdb Mon Sep 17 00:00:00 2001 From: NukeBird Date: Tue, 18 Feb 2025 18:45:49 +0300 Subject: [PATCH] Call dtor, because we may have non-POD components --- zecsy.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/zecsy.hpp b/zecsy.hpp index f5f388a..34f5216 100644 --- a/zecsy.hpp +++ b/zecsy.hpp @@ -141,6 +141,13 @@ namespace zecsy auto& pool = pools[id]; auto index = pool.entity_to_index[e]; + + /* + * T may be non-POD, so I guess I should call a destructor here + */ + auto comp_ptr = reinterpret_cast(&pool.data[index * sizeof(T)]); + comp_ptr->~T(); + pool.free_list.push_back(index); pool.entity_to_index.erase(e); pool.index_to_entity.erase(index);