From cd5b57b4fcef8507beadad87cafba608c4802868 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 8 May 2018 11:59:48 +0200 Subject: Fix recent Curve porting: mesh pointer may also be NULL in non-EditMode case. --- source/blender/modifiers/intern/MOD_curve.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern/MOD_curve.c') 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) { -- cgit v1.2.3