From 15807945215c71cc054acfe1ad97024199c82e49 Mon Sep 17 00:00:00 2001 From: Riyyi Date: Wed, 13 Jan 2021 15:01:43 +0100 Subject: [PATCH] Improve entity weak_ptr expiration check --- inferno/src/inferno/scene/entity.cpp | 3 ++- inferno/src/inferno/scene/entity.h | 5 ----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/inferno/src/inferno/scene/entity.cpp b/inferno/src/inferno/scene/entity.cpp index 3a31130..66fffca 100644 --- a/inferno/src/inferno/scene/entity.cpp +++ b/inferno/src/inferno/scene/entity.cpp @@ -32,7 +32,8 @@ namespace Inferno { void Entity::valid() const { - ASSERT(m_registry.lock()->valid(m_entity)); + expired(); + ASSERT(m_registry.lock()->valid(m_entity), "Entity is not valid"); } // ---------------------------------------- diff --git a/inferno/src/inferno/scene/entity.h b/inferno/src/inferno/scene/entity.h index 95daf3c..c61025e 100644 --- a/inferno/src/inferno/scene/entity.h +++ b/inferno/src/inferno/scene/entity.h @@ -23,7 +23,6 @@ namespace Inferno { template [[nodiscard]] bool has() const { - expired(); valid(); return m_registry.lock()->has(m_entity); } @@ -31,7 +30,6 @@ namespace Inferno { template [[nodiscard]] bool any() const { - expired(); valid(); return m_registry.lock()->any(m_entity); } @@ -39,7 +37,6 @@ namespace Inferno { template T& add(P&&... parameters) const { - expired(); valid(); return m_registry.lock()->emplace_or_replace(m_entity, std::forward

(parameters)...); }; @@ -47,7 +44,6 @@ namespace Inferno { template size_t remove() const { - expired(); valid(); return m_registry.lock()->remove_if_exists(m_entity); } @@ -55,7 +51,6 @@ namespace Inferno { template T& get(P&&... parameters) const { - expired(); valid(); return m_registry.lock()->get_or_emplace(m_entity, std::forward

(parameters)...); }