Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2019-02-11 22:20:12 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2019-02-11 22:24:07 +0300
commit7cca0f9998a3d12e0046009c643038c9faa45767 (patch)
tree2178763ed908b018c29408268a612559fab8ad34 /source/blender/modifiers/intern/MOD_boolean.c
parentd8888b2f48bc3146eeb490de4544fadd5fc37386 (diff)
Fix T61391: MeshDeform Modifier does not work on a solidified planar mesh.
`BKE_modifier_get_evaluated_mesh_from_evaluated_object()` used by modifiers needing access to other objects' geometry probably skipped out of the radar when cage and final evaluated meshes were added to BMEditMesh? In any case, we do not need to duplicate (and then free!) a temp mesh from editdata anymore, and we can even add instead a parameter to get cage instead of final. Also makes modifiers code a bit simpler.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_boolean.c')
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index d26aaf622a3..d7fca5c12f3 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -157,14 +157,13 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
Mesh *result = mesh;
Mesh *mesh_other;
- bool mesh_other_free;
if (bmd->object == NULL) {
return result;
}
Object *other = DEG_get_evaluated_object(ctx->depsgraph, bmd->object);
- mesh_other = BKE_modifier_get_evaluated_mesh_from_evaluated_object(other, &mesh_other_free);
+ mesh_other = BKE_modifier_get_evaluated_mesh_from_evaluated_object(other, false);
if (mesh_other) {
Object *object = ctx->object;
@@ -318,10 +317,6 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
modifier_setError(md, "Cannot execute boolean operation");
}
- if (mesh_other != NULL && mesh_other_free) {
- BKE_id_free(NULL, mesh_other);
- }
-
return result;
}