diff --git a/src/App/ApplicationPy.cpp b/src/App/ApplicationPy.cpp index b6d477d0d..bc0e0c928 100644 --- a/src/App/ApplicationPy.cpp +++ b/src/App/ApplicationPy.cpp @@ -205,11 +205,14 @@ PyObject* Application::sNewDocument(PyObject * /*self*/, PyObject *args,PyObject { char *docName = 0; char *usrName = 0; - if (!PyArg_ParseTuple(args, "|ss", &docName, &usrName)) // convert args: Python->C - return NULL; // NULL triggers exception + if (!PyArg_ParseTuple(args, "|etet", "utf-8", &docName, "utf-8", &usrName)) + return NULL; PY_TRY { - return GetApplication().newDocument(docName, usrName)->getPyObject(); + App::Document* doc = GetApplication().newDocument(docName, usrName); + PyMem_Free(docName); + PyMem_Free(usrName); + return doc->getPyObject(); }PY_CATCH; } diff --git a/src/Mod/Draft/importOCA.py b/src/Mod/Draft/importOCA.py index e3c4a51cd..0eb043f41 100644 --- a/src/Mod/Draft/importOCA.py +++ b/src/Mod/Draft/importOCA.py @@ -221,8 +221,8 @@ def decodeName(name): def open(filename): docname=os.path.split(filename)[1] doc=FreeCAD.newDocument(docname) - if (docname[-4:] == "gcad"): doc.Label = decodeName(docname[:-5]) - else: doc.Label = decodeName(docname[:-4]) + if (docname[-4:] == "gcad"): doc.Label = docname[:-5] + else: doc.Label = docname[:-4] parse(filename,doc) doc.recompute() diff --git a/src/Mod/Draft/importSVG.py b/src/Mod/Draft/importSVG.py index f8f42391f..2f9062f51 100644 --- a/src/Mod/Draft/importSVG.py +++ b/src/Mod/Draft/importSVG.py @@ -1176,7 +1176,7 @@ def getContents(filename,tag,stringmode=False): def open(filename): docname=os.path.split(filename)[1] doc=FreeCAD.newDocument(docname) - doc.Label = decodeName(docname[:-4]) + doc.Label = docname[:-4] parser = xml.sax.make_parser() parser.setFeature(xml.sax.handler.feature_external_ges, False) parser.setContentHandler(svgHandler()) diff --git a/src/Mod/Material/importFCMat.py b/src/Mod/Material/importFCMat.py index 9df0ce980..ab6f9cc78 100644 --- a/src/Mod/Material/importFCMat.py +++ b/src/Mod/Material/importFCMat.py @@ -21,6 +21,7 @@ #*************************************************************************** import FreeCAD, Material +import os __title__="FreeCAD material card importer" __author__ = "Juergen Riegel" @@ -46,7 +47,7 @@ def open(filename): "called when freecad wants to open a file" docname = os.path.splitext(os.path.basename(filename))[0] doc = FreeCAD.newDocument(docname) - doc.Label = decode(docname) + doc.Label = docname FreeCAD.ActiveDocument = doc read(filename) return doc