diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-06-15 16:17:42 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-06-15 16:29:54 +0300 |
commit | 0945a79ed1eafae444d3021a5912cb39801a7209 (patch) | |
tree | 74ed58cc8bea919c46ae411fbf7af846eaf90e97 /source | |
parent | ab8a6914317f6fc287fbe176df0b7ef202468d26 (diff) |
Fix crash using shrink-wrap modifier in edit-mode
Regression in deaff945d0b96.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/shrinkwrap.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index c59042bc045..29f4c7dc6c1 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -51,6 +51,7 @@ #include "BKE_editmesh.h" #include "BKE_mesh.h" /* for OMP limits. */ #include "BKE_mesh_runtime.h" +#include "BKE_mesh_wrapper.h" #include "BKE_subsurf.h" #include "DEG_depsgraph_query.h" @@ -115,7 +116,16 @@ bool BKE_shrinkwrap_init_tree( { memset(data, 0, sizeof(*data)); - if (!mesh || mesh->totvert <= 0) { + if (mesh == NULL) { + return false; + } + + /* We could create a BVH tree from the edit mesh, + * however accessing normals from the face/loop normals gets more involved. + * Convert mesh data since this isn't typically used in edit-mode. */ + BKE_mesh_wrapper_ensure_mdata(mesh); + + if (mesh->totvert <= 0) { return false; } |