diff options
Diffstat (limited to 'source/blender/blenkernel/intern/mesh_convert.c')
-rw-r--r-- | source/blender/blenkernel/intern/mesh_convert.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c index 664698afa38..bc59c1bd502 100644 --- a/source/blender/blenkernel/intern/mesh_convert.c +++ b/source/blender/blenkernel/intern/mesh_convert.c @@ -869,7 +869,7 @@ Mesh *BKE_mesh_new_from_object( Object *object_input = ob; Object *object_eval = DEG_get_evaluated_object(depsgraph, object_input); - Object object_for_eval = *object_eval; + Object object_for_eval; if (object_eval == object_input) { /* Evaluated mesh contains all modifiers applied already. @@ -882,13 +882,18 @@ Mesh *BKE_mesh_new_from_object( else { effective_apply_modifiers = true; } + object_for_eval = *object_eval; } else { if (apply_modifiers) { + object_for_eval = *object_eval; if (object_for_eval.runtime.mesh_orig != NULL) { object_for_eval.data = object_for_eval.runtime.mesh_orig; } } + else { + object_for_eval = *object_input; + } } const bool cage = !effective_apply_modifiers; |