From 22829f8a24522aef8640d85acfe78d36a40610d0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 29 Jun 2022 11:25:06 +0200 Subject: [PATCH] App: issue #7112: Addon manager does not work on windows with special characters in the username --- src/App/MetadataPyImp.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/App/MetadataPyImp.cpp b/src/App/MetadataPyImp.cpp index 17913909cbb8..3a35d42d2211 100644 --- a/src/App/MetadataPyImp.cpp +++ b/src/App/MetadataPyImp.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #include "Metadata.h" +#include // inclusion of the generated files (generated out of MetadataPy.xml) #include "MetadataPy.h" @@ -64,10 +65,13 @@ int MetadataPy::PyInit(PyObject* args, PyObject* /*kwd*/) // Main class constructor -- takes a file path, loads the metadata from it PyErr_Clear(); - const char* filename; - if (PyArg_ParseTuple(args, "s", &filename)) { + char* filename; + if (PyArg_ParseTuple(args, "et", "utf-8", &filename)) { try { - auto md = new Metadata(filename); + std::string utf8Name = std::string(filename); + PyMem_Free(filename); + + auto md = new Metadata(Base::FileInfo::stringToPath(utf8Name)); setTwinPointer(md); return 0; }