[Bf-blender-cvs] [39ae4804a80] blender-v2.82-release: Fix T72789: Mantaflow cache doesn't work with non-latin cache directory
Sebastián Barschkis
noreply at git.blender.org
Thu Jan 23 17:16:48 CET 2020
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);
More information about the Bf-blender-cvs
mailing list