From 9b426269189ce00add24e48c951c45aca01f2076 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 25 Mar 2021 15:31:09 +0100 Subject: BLI: fix Set.lookup_key_or_add --- source/blender/blenlib/BLI_set.hh | 2 ++ source/blender/blenlib/tests/BLI_set_test.cc | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/blenlib/BLI_set.hh b/source/blender/blenlib/BLI_set.hh index fef657b2d8f..a8ccf957f6c 100644 --- a/source/blender/blenlib/BLI_set.hh +++ b/source/blender/blenlib/BLI_set.hh @@ -788,6 +788,8 @@ class Set { template const Key &lookup_key_or_add__impl(ForwardKey &&key, const uint64_t hash) { + this->ensure_can_add(); + SET_SLOT_PROBING_BEGIN (hash, slot) { if (slot.contains(key, is_equal_, hash)) { return *slot.key(); diff --git a/source/blender/blenlib/tests/BLI_set_test.cc b/source/blender/blenlib/tests/BLI_set_test.cc index 56f1d57e4ae..3a4733a218f 100644 --- a/source/blender/blenlib/tests/BLI_set_test.cc +++ b/source/blender/blenlib/tests/BLI_set_test.cc @@ -456,8 +456,8 @@ TEST(set, LookupKeyPtr) TEST(set, LookupKeyOrAdd) { Set set; - set.add({1, 10}); - set.add({2, 20}); + set.lookup_key_or_add({1, 10}); + set.lookup_key_or_add({2, 20}); EXPECT_EQ(set.size(), 2); EXPECT_EQ(set.lookup_key_or_add({2, 40}).attached_data, 20); EXPECT_EQ(set.size(), 2); -- cgit v1.2.3