diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-12-06 10:28:32 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-12-06 10:28:32 +0300 |
commit | 1f5dd9c437cce27cf5a4498b1b7d31f4b9f9b8f2 (patch) | |
tree | 0838e3a25873ce9ab88e6067d0e40da6365760bf /source/blender/editors/object/object_add.c | |
parent | 285b06da515d18c19f5674091fad60f7b3d52be3 (diff) |
Fix T58788: Apply Visual Geometry crash
Diffstat (limited to 'source/blender/editors/object/object_add.c')
-rw-r--r-- | source/blender/editors/object/object_add.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 30c7811fa0b..b6641d6b101 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -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 * 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); - if (newob->runtime.mesh_eval == me_eval) { - newob->runtime.mesh_eval = NULL; - } + Scene *scene_eval = (Scene *)DEG_get_evaluated_id(depsgraph, &scene->id); + Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); + 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_object_free_modifiers(newob, 0); /* after derivedmesh calls! */ } |