[Bf-blender-cvs] [15aea1bb227] temp-T96709-painting-target: Merge remote-tracking branch 'origin/master' into temp-T96709-painting-target

Jeroen Bakker noreply at git.blender.org
Fri Apr 8 08:27:08 CEST 2022


Commit: 15aea1bb22725be7ea450ff25a0245bf87bf7db0
Author: Jeroen Bakker
Date:   Fri Apr 8 07:59:39 2022 +0200
Branches: temp-T96709-painting-target
https://developer.blender.org/rB15aea1bb22725be7ea450ff25a0245bf87bf7db0

Merge remote-tracking branch 'origin/master' into temp-T96709-painting-target

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



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

diff --cc release/scripts/startup/bl_ui/properties_data_mesh.py
index 4809060fad3,97519e55b48..1bfd82cc790
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@@ -545,35 -544,28 +544,28 @@@ class DATA_PT_mesh_attributes(MeshButto
          ob = context.object
          mesh = ob.data
  
-         builtin_attribute = object()
- 
-         def add_builtin(name):
-             attributes_by_name[name].append(builtin_attribute)
- 
-         def add_attributes(layers):
-             for layer in layers:
-                 attributes_by_name[layer.name].append(layer)
- 
-         add_builtin("position")
-         add_builtin("material_index")
-         add_builtin("shade_smooth")
-         add_builtin("normal")
-         add_builtin("crease")
- 
-         add_attributes(mesh.attributes)
-         add_attributes(mesh.uv_layers)
-         add_attributes(ob.vertex_groups)
+         unique_names = set()
+         colliding_names = []
+         for collection in (
+                 # Built-in names.
+                 {"position": None, "material_index": None, "shade_smooth": None, "normal": None, "crease": None},
+                 mesh.attributes,
+                 mesh.uv_layers,
+                 ob.vertex_groups,
+         ):
+             for name in collection.keys():
+                 unique_names_len = len(unique_names)
+                 unique_names.add(name)
+                 if len(unique_names) == unique_names_len:
+                     colliding_names.append(name)
  
-         colliding_names = [name for name, layers in attributes_by_name.items() if len(layers) >= 2]
-         if len(colliding_names) == 0:
+         if not colliding_names:
              return
  
-         layout.label(text="Name collisions: {}".format(", ".join(colliding_names)), icon='ERROR')
+         layout.label(text="Name collisions: " + ", ".join(set(colliding_names)), icon='ERROR')
  
  
 -class MESH_UL_color_attributes(UIList):
 +class ColorAttributesListBase():
      display_domain_names = {
          'POINT': "Vertex",
          'EDGE': "Edge",



More information about the Bf-blender-cvs mailing list