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
path: root/intern
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2020-01-22 15:41:43 +0300
committerRichard Antalik <richardantalik@gmail.com>2020-01-22 15:41:43 +0300
commitd51760dc5ade1b0104ae9d537c137545957d1fb6 (patch)
tree1538a4c66515bdaa09f78482e3a18d7e6de03d36 /intern
parent4099ad1984a6410652bdfdc27efc61256807e9af (diff)
parenta60a623a1ac5416a6c07b4e8c038d603735a0061 (diff)
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'intern')
-rw-r--r--intern/mantaflow/intern/MANTA_main.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp
index 79363126aff..05e6999c193 100644
--- a/intern/mantaflow/intern/MANTA_main.cpp
+++ b/intern/mantaflow/intern/MANTA_main.cpp
@@ -2057,7 +2057,10 @@ static char *pyObjectToString(PyObject *inputObject)
PyObject *encoded = PyUnicode_AsUTF8String(inputObject);
char *result = PyBytes_AsString(encoded);
- Py_DECREF(encoded);
+
+ /* Do not decref (i.e. Py_DECREF(encoded)) of string 'encoded' PyObject.
+ * Otherwise those objects will be invalidated too early (see T72894).
+ * Reference count of those Python objects will be decreased with 'del' in Python scripts. */
Py_DECREF(inputObject);
PyGILState_Release(gilstate);
@@ -2566,6 +2569,8 @@ void MANTA::updatePointers()
pyObjectToString(callPythonFunction("y_guidevel" + solver_ext, func)));
mGuideVelocityZ = (float *)stringToPointer(
pyObjectToString(callPythonFunction("z_guidevel" + solver_ext, func)));
+ mNumGuide = (float *)stringToPointer(
+ pyObjectToString(callPythonFunction("numGuides" + solver_ext, func)));
}
if (mUsingInvel) {
mInVelocityX = (float *)stringToPointer(
@@ -2574,8 +2579,6 @@ void MANTA::updatePointers()
pyObjectToString(callPythonFunction("y_invel" + solver_ext, func)));
mInVelocityZ = (float *)stringToPointer(
pyObjectToString(callPythonFunction("z_invel" + solver_ext, func)));
- mNumGuide = (float *)stringToPointer(
- pyObjectToString(callPythonFunction("numGuides" + solver_ext, func)));
}
if (mUsingSmoke) {
mDensity = (float *)stringToPointer(