Commit: 39ae4804a80fe96472d8f3c269825ec82eeb90f7
Author: Sebastián Barschkis
Date:   Thu Jan 23 17:12:19 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rB39ae4804a80fe96472d8f3c269825ec82eeb90f7

Fix T72789: Mantaflow cache doesn't work with non-latin cache directory

Root of the problem was that Manta's Python API was converting to and from 
Latin1 instead of UTF8.

===================================================================

M       extern/mantaflow/helper/pwrapper/pconvert.cpp

===================================================================

diff --git a/extern/mantaflow/helper/pwrapper/pconvert.cpp 
b/extern/mantaflow/helper/pwrapper/pconvert.cpp
index c8c92cbf585..9ada75519fc 100644
--- a/extern/mantaflow/helper/pwrapper/pconvert.cpp
+++ b/extern/mantaflow/helper/pwrapper/pconvert.cpp
@@ -144,7 +144,12 @@ template<> int fromPy<int>(PyObject *obj)
 template<> string fromPy<string>(PyObject *obj)
 {
   if (PyUnicode_Check(obj))
+#ifdef BLENDER
+    // Blender is completely UTF-8 based
+    return PyBytes_AsString(PyUnicode_AsUTF8String(obj));
+#else
     return PyBytes_AsString(PyUnicode_AsLatin1String(obj));
+#endif
 #if PY_MAJOR_VERSION <= 2
   else if (PyString_Check(obj))
     return PyString_AsString(obj);
@@ -155,7 +160,12 @@ template<> string fromPy<string>(PyObject *obj)
 template<> const char *fromPy<const char *>(PyObject *obj)
 {
   if (PyUnicode_Check(obj))
+#ifdef BLENDER
+    // Blender is completely UTF-8 based
+    return PyBytes_AsString(PyUnicode_AsUTF8String(obj));
+#else
     return PyBytes_AsString(PyUnicode_AsLatin1String(obj));
+#endif
 #if PY_MAJOR_VERSION <= 2
   else if (PyString_Check(obj))
     return PyString_AsString(obj);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to