From d3496f3ff59c39242522debd5084fc92fc8c9bb7 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Wed, 26 Jan 2022 14:18:59 +0100 Subject: [PATCH] sparse_set: apparently using an invalid iterator isn't a good idea :) --- src/entt/entity/sparse_set.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entt/entity/sparse_set.hpp b/src/entt/entity/sparse_set.hpp index 400efaa08..854b1b3f9 100644 --- a/src/entt/entity/sparse_set.hpp +++ b/src/entt/entity/sparse_set.hpp @@ -240,8 +240,8 @@ protected: virtual void try_erase(basic_iterator it, const std::size_t count) { if(mode == deletion_policy::in_place) { for(const auto last = it + count; it != last; ++it) { - packed[it.index()] = std::exchange(free_list, entity_traits::combine(static_cast(it.index()), entity_traits::reserved)); sparse_ref(*it) = null; + packed[it.index()] = std::exchange(free_list, entity_traits::combine(static_cast(it.index()), entity_traits::reserved)); } } else { for(const auto last = it + count; it != last; ++it) {