From b11acfd165f33ec24b911a1445353af73ae6f113 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 19 Nov 2014 11:18:18 +0100 Subject: [PATCH] + handle unicode strings in class PythonWrapper --- src/Gui/WidgetFactory.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Gui/WidgetFactory.cpp b/src/Gui/WidgetFactory.cpp index d1cf605d700d..56eaa9b75137 100644 --- a/src/Gui/WidgetFactory.cpp +++ b/src/Gui/WidgetFactory.cpp @@ -134,6 +134,15 @@ PythonWrapper::PythonWrapper() bool PythonWrapper::toCString(const Py::Object& pyobject, std::string& str) { + if (PyUnicode_Check(pyobject.ptr())) { + PyObject* unicode = PyUnicode_AsUTF8String(pyobject.ptr()); + str = PyString_AsString(unicode); + Py_DECREF(unicode); + return true; + } + else if (PyString_Check(pyobject.ptr())) { + str = PyString_AsString(pyobject.ptr()); + } #if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) if (Shiboken::String::check(pyobject.ptr())) { const char* s = Shiboken::String::toCString(pyobject.ptr());