Fix T59631: Crash in Surface Deform modifier Bind when Dynamic Paint is included.

We should *never* prevent copying basic mesh CDLayers (vertices etc.),
that does not make sense.

I guess issue was not in old DM because geometry was duplicated anyway,
and in 'normal' modifier stack eval, probably because bare mesh was
awlays requested? But we should not have to be explicit here about it.
This commit is contained in:
Bastien Montagne 2019-01-10 16:45:38 +01:00
parent e31a5a4c62
commit 41b65d9a8e
Notes: blender-bot 2023-11-20 12:14:32 +01:00
Referenced by issue #59631, Crash in Surface Deform modifier Bind when Dynamic Paint is included
1 changed files with 2 additions and 2 deletions

View File

@ -1170,7 +1170,7 @@ static void mesh_calc_modifiers(
ModifierData *firstmd, *md, *previewmd = NULL;
CDMaskLink *datamasks, *curr;
/* XXX Always copying POLYINDEX, else tessellated data are no more valid! */
CustomDataMask mask, nextmask, previewmask = 0, append_mask = CD_MASK_ORIGINDEX;
CustomDataMask mask, nextmask, previewmask = 0, append_mask = CD_MASK_ORIGINDEX | CD_MASK_BAREMESH;
float (*deformedVerts)[3] = NULL;
int numVerts = ((Mesh *)ob->data)->totvert;
const bool useRenderParams = (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER);
@ -1688,7 +1688,7 @@ static void editbmesh_calc_modifiers(
{
ModifierData *md;
float (*deformedVerts)[3] = NULL;
CustomDataMask mask = 0, append_mask = 0;
CustomDataMask mask = 0, append_mask = CD_MASK_BAREMESH;
int i, numVerts = 0, cageIndex = modifiers_getCageIndex(scene, ob, NULL, 1);
CDMaskLink *datamasks, *curr;
const int required_mode = eModifierMode_Realtime | eModifierMode_Editmode;