[Bf-blender-cvs] [96834a7bacf] master: Fix T97595: Modifier attribute output broken for vertex groups

Hans Goudey noreply at git.blender.org
Mon Apr 25 23:44:36 CEST 2022


Commit: 96834a7bacffc97d87af6b8b89aa2a091b5b094a
Author: Hans Goudey
Date:   Mon Apr 25 16:44:30 2022 -0500
Branches: master
https://developer.blender.org/rB96834a7bacffc97d87af6b8b89aa2a091b5b094a

Fix T97595: Modifier attribute output broken for vertex groups

`attribute_try_create` didn't understand that the vertex group
attribute already existed because it only looks for names in custom
data layers when the domain matches. Using `attribute_exists`
unfortunately requires another loop through all attribute names,
but that should be optimized separately in the future anyway.

Differential Revision: https://developer.blender.org/D14756

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

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

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

diff --git a/source/blender/blenkernel/intern/attribute_access.cc b/source/blender/blenkernel/intern/attribute_access.cc
index 77c7857a528..98db5013a00 100644
--- a/source/blender/blenkernel/intern/attribute_access.cc
+++ b/source/blender/blenkernel/intern/attribute_access.cc
@@ -939,6 +939,9 @@ bool GeometryComponent::attribute_try_create(const AttributeIDRef &attribute_id,
   if (providers == nullptr) {
     return false;
   }
+  if (this->attribute_exists(attribute_id)) {
+    return false;
+  }
   if (attribute_id.is_named()) {
     const BuiltinAttributeProvider *builtin_provider =
         providers->builtin_attribute_providers().lookup_default_as(attribute_id.name(), nullptr);



More information about the Bf-blender-cvs mailing list