[Bf-blender-cvs] [9b426269189] master: BLI: fix Set.lookup_key_or_add

Jacques Lucke noreply at git.blender.org
Thu Mar 25 16:01:49 CET 2021


Commit: 9b426269189ce00add24e48c951c45aca01f2076
Author: Jacques Lucke
Date:   Thu Mar 25 15:31:09 2021 +0100
Branches: master
https://developer.blender.org/rB9b426269189ce00add24e48c951c45aca01f2076

BLI: fix Set.lookup_key_or_add

===================================================================

M	source/blender/blenlib/BLI_set.hh
M	source/blender/blenlib/tests/BLI_set_test.cc

===================================================================

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<typename ForwardKey>
   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<MyKeyType> 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);



More information about the Bf-blender-cvs mailing list