[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