diff --git a/src/entt/entity/view.hpp b/src/entt/entity/view.hpp index c9269e1b8..719e9b91c 100644 --- a/src/entt/entity/view.hpp +++ b/src/entt/entity/view.hpp @@ -763,7 +763,7 @@ public: * iterator otherwise. */ [[nodiscard]] iterator find(const entity_type entt) const noexcept { - return view->find(entt); + return view ? view->find(entt) : iterator{}; } /** diff --git a/test/entt/entity/view.cpp b/test/entt/entity/view.cpp index 5dd8f9dc3..9a8d45a21 100644 --- a/test/entt/entity/view.cpp +++ b/test/entt/entity/view.cpp @@ -79,6 +79,7 @@ TEST(SingleComponentView, InvalidView) { ASSERT_EQ(view.size(), 0u); ASSERT_TRUE(view.empty()); ASSERT_FALSE(view.contains(entt::null)); + ASSERT_EQ(view.find(entt::null), view.end()); ASSERT_EQ(view.front(), static_cast(entt::null)); ASSERT_EQ(view.back(), static_cast(entt::null));