diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-08-03 10:52:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-08-03 11:01:34 +0300 |
commit | 8f22feefbc2014154ea59da24b43ff316c5e1d17 (patch) | |
tree | ca5d9fc8dda9df07690354c7a551aabadb008fbc | |
parent | d406edf1ee8c69f919d7e7af69c0371b6c93bc51 (diff) |
Fix T79440: Deform modifiers fail in edit-mode when not first
Lattice, armature & curve only worked when an edit-mesh was passed in,
the mesh argument was being ignored.
Regression in 9f5833798caf9
-rw-r--r-- | source/blender/modifiers/intern/MOD_armature.c | 7 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_curve.c | 7 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_lattice.c | 7 |
3 files changed, 18 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index b62c03d1b03..e7f47a09d95 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -165,10 +165,15 @@ static void deformVerts(ModifierData *md, static void deformVertsEM(ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *em, - Mesh *UNUSED(mesh), + Mesh *mesh, float (*vertexCos)[3], int numVerts) { + if (mesh != NULL) { + deformVerts(md, ctx, mesh, vertexCos, numVerts); + return; + } + ArmatureModifierData *amd = (ArmatureModifierData *)md; MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 760e4717b6d..42adf305ee9 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -150,10 +150,15 @@ static void deformVerts(ModifierData *md, static void deformVertsEM(ModifierData *md, const ModifierEvalContext *ctx, BMEditMesh *em, - Mesh *UNUSED(mesh), + Mesh *mesh, float (*vertexCos)[3], int numVerts) { + if (mesh != NULL) { + deformVerts(md, ctx, mesh, vertexCos, numVerts); + return; + } + CurveModifierData *cmd = (CurveModifierData *)md; bool use_dverts = false; int defgrp_index = -1; diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index b1a9258ec51..bf891c4938b 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -130,10 +130,15 @@ static void deformVerts(ModifierData *md, static void deformVertsEM(ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *em, - struct Mesh *UNUSED(mesh), + struct Mesh *mesh, float (*vertexCos)[3], int numVerts) { + if (mesh != NULL) { + deformVerts(md, ctx, mesh, vertexCos, numVerts); + return; + } + LatticeModifierData *lmd = (LatticeModifierData *)md; MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ |