From c45de0c032a4cfefc0f4690a622029328f100a44 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Wed, 23 May 2018 12:28:10 +0200 Subject: [PATCH] tests + bug fixing --- src/entt/entity/registry.hpp | 4 +++- test/entt/entity/registry.cpp | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/entt/entity/registry.hpp b/src/entt/entity/registry.hpp index 6e440f734..a1c58d219 100644 --- a/src/entt/entity/registry.hpp +++ b/src/entt/entity/registry.hpp @@ -440,10 +440,12 @@ public: const auto other = create(); for(auto pos = pools.size(); pos; --pos) { - auto &cpool = std::get<0>(pools[pos-1]); + auto &tup = pools[pos-1]; + auto &cpool = std::get<0>(tup); if(cpool && cpool->has(entity)) { cpool->clone(other, entity); + std::get<1>(tup).publish(*this, other); } } diff --git a/test/entt/entity/registry.cpp b/test/entt/entity/registry.cpp index 0efdc75d7..779924e47 100644 --- a/test/entt/entity/registry.cpp +++ b/test/entt/entity/registry.cpp @@ -719,6 +719,11 @@ TEST(DefaultRegistry, ComponentSignals) { ASSERT_EQ(listener.counter, 1); ASSERT_EQ(listener.last, e1); + + e1 = registry.clone(e0); + + ASSERT_EQ(listener.counter, 2); + ASSERT_EQ(listener.last, e1); } TEST(DefaultRegistry, TagSignals) {