diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-12-06 08:52:49 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-12-06 08:52:49 +0300 |
commit | aeffaf75aba037271e843373a52a8022dceece65 (patch) | |
tree | d4de94711e72f0d3c861a6d1434364a897c9b247 /source/blender/editors/mesh/editmesh_knife_project.c | |
parent | 6c19412ad119f1e0487956f68a2d50c434017dda (diff) |
Fix knife project, add to mesh menu
Diffstat (limited to 'source/blender/editors/mesh/editmesh_knife_project.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_knife_project.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/mesh/editmesh_knife_project.c b/source/blender/editors/mesh/editmesh_knife_project.c index da8b8d217d7..1804eca4e5c 100644 --- a/source/blender/editors/mesh/editmesh_knife_project.c +++ b/source/blender/editors/mesh/editmesh_knife_project.c @@ -44,6 +44,7 @@ #include "BKE_report.h" #include "DEG_depsgraph.h" +#include "DEG_depsgraph_query.h" #include "RNA_define.h" #include "RNA_access.h" @@ -67,8 +68,12 @@ static LinkNode *knifeproject_poly_from_object(const bContext *C, Scene *scene, bool me_eval_needs_free; if (ob->type == OB_MESH || ob->runtime.mesh_eval) { - me_eval = (ob->runtime.mesh_eval ? - ob->runtime.mesh_eval : mesh_get_eval_final(depsgraph, scene, ob, CD_MASK_BAREMESH)); + Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); + me_eval = ob_eval->runtime.mesh_eval; + if (me_eval == NULL) { + Scene *scene_eval = (Scene *)DEG_get_evaluated_id(depsgraph, &scene->id); + me_eval = mesh_get_eval_final(depsgraph, scene_eval, ob_eval, CD_MASK_BAREMESH); + } me_eval_needs_free = false; } else if (ELEM(ob->type, OB_FONT, OB_CURVE, OB_SURF)) { |