From 96834a7bacffc97d87af6b8b89aa2a091b5b094a Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 25 Apr 2022 16:44:30 -0500 Subject: 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 --- source/blender/blenkernel/intern/attribute_access.cc | 3 +++ 1 file changed, 3 insertions(+) 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); -- cgit v1.2.3