[Bf-blender-cvs] [7fb1c67c3d2] refactor-mesh-uv-map-generic: Only copy associated UV map bool layers if they exist
Martijn Versteegh
noreply at git.blender.org
Mon Jan 2 23:38:03 CET 2023
Commit: 7fb1c67c3d2d2d1694d320c1f2cc3b112e2a387a
Author: Martijn Versteegh
Date: Mon Jan 2 23:37:52 2023 +0100
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rB7fb1c67c3d2d2d1694d320c1f2cc3b112e2a387a
Only copy associated UV map bool layers if they exist
===================================================================
M source/blender/blenkernel/intern/attribute.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/attribute.cc b/source/blender/blenkernel/intern/attribute.cc
index 83f2277e09c..0431967ebc0 100644
--- a/source/blender/blenkernel/intern/attribute.cc
+++ b/source/blender/blenkernel/intern/attribute.cc
@@ -140,6 +140,19 @@ bool BKE_attribute_allow_procedural_access(const char *attribute_name)
return blender::bke::allow_procedural_attribute_access(attribute_name);
}
+static bool bke_id_attribute_rename_if_exists(ID *id,
+ const char *old_name,
+ const char *new_name,
+ ReportList *reports)
+{
+ CustomDataLayer *layer = BKE_id_attribute_search(
+ id, old_name, CD_MASK_PROP_ALL, ATTR_DOMAIN_MASK_ALL);
+ if (layer == nullptr) {
+ return false;
+ }
+ return BKE_id_attribute_rename(id, old_name, new_name, reports);
+}
+
bool BKE_id_attribute_rename(ID *id,
const char *old_name,
const char *new_name,
@@ -172,15 +185,16 @@ bool BKE_id_attribute_rename(ID *id,
/* Rename UV sub-attributes. */
char buffer_src[MAX_CUSTOMDATA_LAYER_NAME];
char buffer_dst[MAX_CUSTOMDATA_LAYER_NAME];
- BKE_id_attribute_rename(id,
+
+ bke_id_attribute_rename_if_exists(id,
BKE_uv_map_vert_selection_name_get(layer->name, buffer_src),
BKE_uv_map_vert_selection_name_get(result_name, buffer_dst),
reports);
- BKE_id_attribute_rename(id,
+ bke_id_attribute_rename_if_exists(id,
BKE_uv_map_edge_selection_name_get(layer->name, buffer_src),
BKE_uv_map_edge_selection_name_get(result_name, buffer_dst),
reports);
- BKE_id_attribute_rename(id,
+ bke_id_attribute_rename_if_exists(id,
BKE_uv_map_pin_name_get(layer->name, buffer_src),
BKE_uv_map_pin_name_get(result_name, buffer_dst),
reports);
More information about the Bf-blender-cvs
mailing list