Fix T58788: Apply Visual Geometry crash

This commit is contained in:
Campbell Barton 2018-12-06 18:28:32 +11:00
parent 285b06da51
commit 1f5dd9c437

@ -1923,10 +1923,10 @@ static int convert_exec(bContext *C, wmOperator *op)
/* note: get the mesh from the original, not from the copy in some /* note: get the mesh from the original, not from the copy in some
* cases this doesn't give correct results (when MDEF is used for eg) * cases this doesn't give correct results (when MDEF is used for eg)
*/ */
Mesh *me_eval = mesh_get_eval_final(depsgraph, scene, newob, CD_MASK_MESH); Scene *scene_eval = (Scene *)DEG_get_evaluated_id(depsgraph, &scene->id);
if (newob->runtime.mesh_eval == me_eval) { Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
newob->runtime.mesh_eval = NULL; Mesh *me_eval = mesh_get_eval_final(depsgraph, scene_eval, ob_eval, CD_MASK_MESH);
} me_eval = BKE_mesh_copy_for_eval(me_eval, false);
BKE_mesh_nomain_to_mesh(me_eval, newob->data, newob, CD_MASK_MESH, true); BKE_mesh_nomain_to_mesh(me_eval, newob->data, newob, CD_MASK_MESH, true);
BKE_object_free_modifiers(newob, 0); /* after derivedmesh calls! */ BKE_object_free_modifiers(newob, 0); /* after derivedmesh calls! */
} }