[Bf-blender-cvs] [5a77748e470] master: Fix T74377: Weld Modifier destroys vertex groups

Germano Cavalcante noreply at git.blender.org
Mon Mar 2 22:48:13 CET 2020


Commit: 5a77748e470df308cd325311bab9bf21beb6f77e
Author: Germano Cavalcante
Date:   Mon Mar 2 18:44:47 2020 -0300
Branches: master
https://developer.blender.org/rB5a77748e470df308cd325311bab9bf21beb6f77e

Fix T74377: Weld Modifier destroys vertex groups

Differential Revision: https://developer.blender.org/D6997

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

M	source/blender/modifiers/intern/MOD_weld.c

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

diff --git a/source/blender/modifiers/intern/MOD_weld.c b/source/blender/modifiers/intern/MOD_weld.c
index 1f641e56c76..803c8e1853f 100644
--- a/source/blender/modifiers/intern/MOD_weld.c
+++ b/source/blender/modifiers/intern/MOD_weld.c
@@ -1890,6 +1890,18 @@ static void initData(ModifierData *md)
   wmd->defgrp_name[0] = '\0';
 }
 
+static void requiredDataMask(Object *UNUSED(ob),
+                             ModifierData *md,
+                             CustomData_MeshMasks *r_cddata_masks)
+{
+  WeldModifierData *wmd = (WeldModifierData *)md;
+
+  /* Ask for vertexgroups if we need them. */
+  if (wmd->defgrp_name[0] != '\0') {
+    r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT;
+  }
+}
+
 ModifierTypeInfo modifierType_Weld = {
     /* name */ "Weld",
     /* structName */ "WeldModifierData",
@@ -1908,7 +1920,7 @@ ModifierTypeInfo modifierType_Weld = {
     /* applyModifier */ applyModifier,
 
     /* initData */ initData,
-    /* requiredDataMask */ NULL,
+    /* requiredDataMask */ requiredDataMask,
     /* freeData */ NULL,
     /* isDisabled */ NULL,
     /* updateDepsgraph */ NULL,



More information about the Bf-blender-cvs mailing list