[Bf-blender-cvs] [d39e0f96166] master: Fix: Incorrect logic in attribute search function

Hans Goudey noreply at git.blender.org
Tue Jun 7 18:38:44 CEST 2022


Commit: d39e0f9616680042d67979424e400bdf8a4b89f4
Author: Hans Goudey
Date:   Tue Jun 7 18:38:30 2022 +0200
Branches: master
https://developer.blender.org/rBd39e0f9616680042d67979424e400bdf8a4b89f4

Fix: Incorrect logic in attribute search function

If a geometry does not have CustomData for a certain domain,
it may still have CustomData on other domains. In that case
we need to continue to the other domains instead of returning.
This worked for meshes because the domains are all at the
start of the `info` array. It didn't work for curves.

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

M	source/blender/blenkernel/intern/attribute.cc

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

diff --git a/source/blender/blenkernel/intern/attribute.cc b/source/blender/blenkernel/intern/attribute.cc
index 4dd25ba1292..1818befba4c 100644
--- a/source/blender/blenkernel/intern/attribute.cc
+++ b/source/blender/blenkernel/intern/attribute.cc
@@ -302,7 +302,7 @@ CustomDataLayer *BKE_id_attribute_search(const ID *id,
 
     CustomData *customdata = info[domain].customdata;
     if (customdata == NULL) {
-      return NULL;
+      continue;
     }
 
     for (int i = 0; i < customdata->totlayer; i++) {



More information about the Bf-blender-cvs mailing list