[Bf-blender-cvs] [9bbcf6fec82] refactor-vertex-group-names: Fix issue with modifier vertex group utility-- tests pass

Hans Goudey noreply at git.blender.org
Tue Jul 13 01:41:12 CEST 2021


Commit: 9bbcf6fec82462a038906acbdf24128a5eb78092
Author: Hans Goudey
Date:   Fri Jul 2 22:50:22 2021 -0500
Branches: refactor-vertex-group-names
https://developer.blender.org/rB9bbcf6fec82462a038906acbdf24128a5eb78092

Fix issue with modifier vertex group utility-- tests pass

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

M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/blenkernel/intern/mesh.c
M	source/blender/modifiers/intern/MOD_util.c

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

diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 9e997d9e47c..6321f6b8461 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -87,7 +87,7 @@ static void greasepencil_copy_data(Main *UNUSED(bmain),
     gpd_dst->mat = MEM_dupallocN(gpd_src->mat);
   }
 
-  BKE_defgroup_copy_list(&gpd_dst->vertex_group_names, &gpd_src->vertex_group_names, __func__);
+  BKE_defgroup_copy_list(&gpd_dst->vertex_group_names, &gpd_src->vertex_group_names);
 
   /* copy layers */
   BLI_listbase_clear(&gpd_dst->layers);
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 7daca2f7a56..5aa73ed0e9e 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -932,8 +932,11 @@ void BKE_mesh_copy_parameters(Mesh *me_dst, const Mesh *me_src)
   copy_v3_v3(me_dst->loc, me_src->loc);
   copy_v3_v3(me_dst->size, me_src->size);
 
-  /* Copy vertex group names. */
-  BKE_defgroup_copy_list(&me_dst->vertex_group_names, &me_src->vertex_group_names);
+  /* Copy vertex group names, only when they haven't already been copied. */
+  if (BLI_listbase_is_empty(&me_dst->vertex_group_names)) {
+    BKE_defgroup_copy_list(&me_dst->vertex_group_names, &me_src->vertex_group_names);
+  }
+
   me_dst->vertex_group_active_index = me_src->vertex_group_active_index;
 }
 
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index 6af02555a32..501549c3f63 100644
--- a/source/blender/modifiers/intern/MOD_util.c
+++ b/source/blender/modifiers/intern/MOD_util.c
@@ -256,7 +256,12 @@ void MOD_get_vgroup(
 {
   if (mesh) {
     *defgrp_index = BKE_id_defgroup_name_index(&mesh->id, name);
-    *dvert = mesh->dvert;
+    if (*defgrp_index != -1) {
+      *dvert = mesh->dvert;
+    }
+    else {
+      *dvert = NULL;
+    }
   }
   else {
     *defgrp_index = BKE_object_defgroup_name_index(ob, name);



More information about the Bf-blender-cvs mailing list