fix regression with unicode support

This commit is contained in:
wmayer
2016-09-08 16:08:01 +02:00
parent e15799c40d
commit 3f2264dc4d
2 changed files with 10 additions and 4 deletions

View File

@@ -330,13 +330,16 @@ PyObject* FeaturePythonPyT<FeaturePyT>::addProperty(PyObject *args)
{
char *sType,*sName=0,*sGroup=0,*sDoc=0;
short attr=0;
std::string sDocStr;
PyObject *ro = Py_False, *hd = Py_False;
if (!PyArg_ParseTuple(args, "s|ssethO!O!", &sType,&sName,&sGroup,"utf-8",&sDoc,&attr,
&PyBool_Type, &ro, &PyBool_Type, &hd)) // convert args: Python->C
return NULL; // NULL triggers exception
std::string sDocStr = std::string(sDoc);
PyMem_Free(sDoc);
if (sDoc) {
sDocStr = sDoc;
PyMem_Free(sDoc);
}
Property* prop=0;
prop = FeaturePyT::getDocumentObjectPtr()->addDynamicProperty(sType,sName,sGroup,sDocStr.c_str(),attr,

View File

@@ -67,13 +67,16 @@ PyObject* ViewProviderPythonFeaturePy::addProperty(PyObject *args)
{
char *sType,*sName=0,*sGroup=0,*sDoc=0;
short attr=0;
std::string sDocStr;
PyObject *ro = Py_False, *hd = Py_False;
if (!PyArg_ParseTuple(args, "s|ssethO!O!", &sType,&sName,&sGroup,"utf-8",&sDoc,&attr,
&PyBool_Type, &ro, &PyBool_Type, &hd)) // convert args: Python->C
return NULL; // NULL triggers exception
std::string sDocStr = std::string(sDoc);
PyMem_Free(sDoc);
if (sDoc) {
sDocStr = sDoc;
PyMem_Free(sDoc);
}
App::Property* prop=0;
prop = getViewProviderPythonFeaturePtr()->addDynamicProperty(sType,sName,sGroup,sDocStr.c_str(),attr,