Commit: 86464cfcef2c982ae532b47553207be13f3d3815
Author: Campbell Barton
Date:   Wed Jan 11 13:57:51 2023 +1100
Branches: master
https://developer.blender.org/rB86464cfcef2c982ae532b47553207be13f3d3815

Fix error converting UV's to MLoopUV

Logic to skip UV layers that are part of the MLoopUV treated all
loop-layers as UV's, causing duplicate and invalid names to be added
to be added to 'uv_sublayers_to_skip', this asserted in debug mode
when saving the `ellie_animation.blend` demo blend file.

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

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

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

diff --git a/source/blender/blenkernel/intern/mesh_legacy_convert.cc 
b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
index 2fea74176f9..07fe17794ff 100644
--- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
@@ -1532,13 +1532,16 @@ void BKE_mesh_legacy_convert_uvs_to_struct(
   char edge_name[MAX_CUSTOMDATA_LAYER_NAME];
   char pin_name[MAX_CUSTOMDATA_LAYER_NAME];
   for (const CustomDataLayer &layer : loop_layers_to_write) {
-    
uv_sublayers_to_skip.add_multiple_new({BKE_uv_map_vert_select_name_get(layer.name,
 vert_name),
-                                           
BKE_uv_map_edge_select_name_get(layer.name, edge_name),
-                                           BKE_uv_map_pin_name_get(layer.name, 
pin_name)});
+    if (layer.type == CD_PROP_FLOAT2) {
+      uv_sublayers_to_skip.add_multiple_new(
+          {BKE_uv_map_vert_select_name_get(layer.name, vert_name),
+           BKE_uv_map_edge_select_name_get(layer.name, edge_name),
+           BKE_uv_map_pin_name_get(layer.name, pin_name)});
+    }
   }
 
   for (const CustomDataLayer &layer : loop_layers_to_write) {
-    if (uv_sublayers_to_skip.contains_as(layer.name)) {
+    if (layer.name[0] && uv_sublayers_to_skip.contains_as(layer.name)) {
       continue;
     }
     if (layer.type != CD_PROP_FLOAT2) {

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to