[Bf-blender-cvs] [fcb49d8029a] fluid-mantaflow: Mantaflow: Fix for memory deallocation
Sebastián Barschkis
noreply at git.blender.org
Wed Nov 20 14:40:11 CET 2019
Commit: fcb49d8029a1c744a992d5e4501b98ae94986b18
Author: Sebastián Barschkis
Date: Wed Nov 20 13:00:06 2019 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBfcb49d8029a1c744a992d5e4501b98ae94986b18
Mantaflow: Fix for memory deallocation
Mesh was being freed slightly too early. Might have been the cause of very random crashes.
===================================================================
M source/blender/blenkernel/intern/manta.c
===================================================================
diff --git a/source/blender/blenkernel/intern/manta.c b/source/blender/blenkernel/intern/manta.c
index 1d4814ee592..180fb63df2a 100644
--- a/source/blender/blenkernel/intern/manta.c
+++ b/source/blender/blenkernel/intern/manta.c
@@ -889,7 +889,9 @@ void mantaModifier_copy(const struct MantaModifierData *mmd,
tmds->fluid_group = mds->fluid_group;
tmds->eff_group = mds->eff_group;
tmds->coll_group = mds->coll_group;
- MEM_freeN(tmds->effector_weights);
+ if (tmds->effector_weights) {
+ MEM_freeN(tmds->effector_weights);
+ }
tmds->effector_weights = MEM_dupallocN(mds->effector_weights);
/* adaptive domain options */
@@ -1359,7 +1361,6 @@ static void obstacles_from_mesh(Object *coll_ob,
}
/* free bvh tree */
free_bvhtree_from_mesh(&treeData);
- BKE_id_free(NULL, me);
if (vert_vel) {
MEM_freeN(vert_vel);
@@ -1367,6 +1368,7 @@ static void obstacles_from_mesh(Object *coll_ob,
if (me->mvert) {
MEM_freeN(me->mvert);
}
+ BKE_id_free(NULL, me);
}
}
@@ -2560,7 +2562,6 @@ static void emit_from_mesh(
if (vert_vel) {
MEM_freeN(vert_vel);
}
-
if (me->mvert) {
MEM_freeN(me->mvert);
}
More information about the Bf-blender-cvs
mailing list