Fix T74377: Weld Modifier destroys vertex groups

Differential Revision: https://developer.blender.org/D6997
This commit is contained in:
Germano Cavalcante 2020-03-02 18:44:47 -03:00
parent 98c74c6a6e
commit 5a77748e47
Notes: blender-bot 2023-02-14 10:48:33 +01:00
Referenced by issue #74377, Two weld modifiers work different together and serial/separately
1 changed files with 13 additions and 1 deletions

View File

@ -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,