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:
authorSebastián Barschkis <sebbas@sebbas.org>2020-03-13 17:33:57 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-03-13 17:34:07 +0300
commit93ac4709ebe8c3be3d26b376248ce263ecc1974e (patch)
tree531f274b212ae49d8cfe0b4276968511ee7607af
parent525bd62557e361882b0761a04d919b594d2dadd3 (diff)
Fluid: Potential fix for Eevee tests crashing with Mantaflow
Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a92987f). There is still a memory leak to be fixed though.
-rw-r--r--intern/mantaflow/intern/MANTA_main.cpp5
-rw-r--r--source/blender/blenkernel/intern/fluid.c5
2 files changed, 4 insertions, 6 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp
index 9d24f880983..5d35de7898f 100644
--- a/intern/mantaflow/intern/MANTA_main.cpp
+++ b/intern/mantaflow/intern/MANTA_main.cpp
@@ -171,9 +171,8 @@ MANTA::MANTA(int *res, FluidModifierData *mmd) : mCurrentID(++solverID)
mMeshFromFile = false;
mParticlesFromFile = false;
- // Only start Mantaflow once. No need to start whenever new FLUID objected is allocated
- if (!mantaInitialized)
- initializeMantaflow();
+ // Setup Mantaflow in Python
+ initializeMantaflow();
// Initialize Mantaflow variables in Python
// Liquid
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 9919a0d7385..fc29b4aae32 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -3674,8 +3674,9 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
/* Reset fluid if no fluid present (obviously)
* or if timeline gets reset to startframe */
- if (!mds->fluid || is_startframe) {
+ if (!mds->fluid) {
BKE_fluid_modifier_reset_ex(mmd, false);
+ BKE_fluid_modifier_init(mmd, depsgraph, ob, scene, me);
}
/* Guiding parent res pointer needs initialization */
@@ -3687,8 +3688,6 @@ static void BKE_fluid_modifier_processDomain(FluidModifierData *mmd,
}
}
- BKE_fluid_modifier_init(mmd, depsgraph, ob, scene, me);
-
/* ensure that time parameters are initialized correctly before every step */
float fps = scene->r.frs_sec / scene->r.frs_sec_base;
mds->frame_length = DT_DEFAULT * (25.0f / fps) * mds->time_scale;