diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-08 12:59:48 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-08 13:01:06 +0300 |
commit | cd5b57b4fcef8507beadad87cafba608c4802868 (patch) | |
tree | b23a744a566c8bc3b8b9b6698774231e230fcaba /source/blender/modifiers/intern/MOD_curve.c | |
parent | 0cd3412d4cd401f1683356e8a1476dbf5ccd28d1 (diff) |
Fix recent Curve porting: mesh pointer may also be NULL in non-EditMode case.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_curve.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_curve.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index d03d5cbf006..e7f7bed2055 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -122,9 +122,17 @@ static void deformVerts( { CurveModifierData *cmd = (CurveModifierData *) md; + Mesh *mesh_src = mesh; + + if (mesh_src == NULL) { + mesh_src = ctx->object->data; + } + + BLI_assert(mesh_src->totvert == numVerts); + /* silly that defaxis and curve_deform_verts are off by 1 * but leave for now to save having to call do_versions */ - curve_deform_verts(cmd->object, ctx->object, mesh, vertexCos, numVerts, cmd->name, cmd->defaxis - 1); + curve_deform_verts(cmd->object, ctx->object, mesh_src, vertexCos, numVerts, cmd->name, cmd->defaxis - 1); } static void deformVertsEM( @@ -141,6 +149,8 @@ static void deformVertsEM( mesh_src = BKE_bmesh_to_mesh_nomain(em->bm, &(struct BMeshToMeshParams){0}); } + BLI_assert(mesh_src->totvert == numVerts); + deformVerts(md, ctx, mesh_src, vertexCos, numVerts); if (!mesh) { |