From fa939ef4b4e92a74771ce8426b68ab22fd79856a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 16 May 2018 18:16:40 +0200 Subject: [PATCH] Python plugin: Use only the Python stable ABI TODO: Still need to find alternative to PyRun_SimpleString. --- src/plugins/python/python.qbs | 2 ++ src/plugins/python/pythonplugin.cpp | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/plugins/python/python.qbs b/src/plugins/python/python.qbs index 47041bfb2c..d34ce04728 100644 --- a/src/plugins/python/python.qbs +++ b/src/plugins/python/python.qbs @@ -7,6 +7,8 @@ import qbs.FileInfo TiledPlugin { Depends { name: "Qt"; submodules: ["widgets"] } + cpp.defines: base.concat(["Py_LIMITED_API=0x03040000"]) + condition: { if (qbs.targetOS.contains("windows")) return File.exists(Environment.getEnv("PYTHONHOME")); diff --git a/src/plugins/python/pythonplugin.cpp b/src/plugins/python/pythonplugin.cpp index 217ac81171..88a60d2225 100644 --- a/src/plugins/python/pythonplugin.cpp +++ b/src/plugins/python/pythonplugin.cpp @@ -72,10 +72,6 @@ void PythonPlugin::initialize() addObject(&mLogger); if (!Py_IsInitialized()) { - // PEP370 - Py_NoSiteFlag = 1; - Py_NoUserSiteDirectory = 1; - PyImport_AppendInittab("tiled", PyInit_tiled); PyImport_AppendInittab("tiled.qt", PyInit_tiled); PyImport_AppendInittab("tiled.Tiled", PyInit_tiled); @@ -368,7 +364,7 @@ QString PythonMapFormat::nameFilter() const PySys_WriteStderr("** Uncaught exception in script **\n"); } else { PyObject* pyStr = PyUnicode_AsEncodedString(pinst, "utf-8", "Error ~"); - ret = PyBytes_AS_STRING(pyStr); + ret = PyBytes_AsString(pyStr); Py_XDECREF(pyStr); Py_DECREF(pinst); } @@ -396,7 +392,7 @@ QString PythonMapFormat::shortName() const PySys_WriteStderr("** Uncaught exception in script **\n"); } else { PyObject* pyStr = PyUnicode_AsEncodedString(pinst, "utf-8", "Error ~"); - ret = PyBytes_AS_STRING(pyStr); + ret = PyBytes_AsString(pyStr); Py_XDECREF(pyStr); Py_DECREF(pinst); }