diff options
| -rw-r--r-- | sources/pyside6/PySide6/glue/qtcore.cpp | 2 | ||||
| -rw-r--r-- | sources/pyside6/libpysideremoteobjects/pysiderephandler.cpp | 2 | ||||
| -rw-r--r-- | sources/shiboken6/doc/typesystem_codeinjection.rst | 2 | ||||
| -rw-r--r-- | sources/shiboken6/generator/shiboken/cppgenerator.cpp | 4 | ||||
| -rw-r--r-- | sources/shiboken6/libshiboken/pep384impl.cpp | 14 | ||||
| -rw-r--r-- | sources/shiboken6/libshiboken/pep384impl.h | 2 | ||||
| -rw-r--r-- | sources/shiboken6/libshiboken/sbkmodule.cpp | 2 | ||||
| -rw-r--r-- | sources/shiboken6/shibokenmodule/shibokenmodule.cpp | 2 |
8 files changed, 23 insertions, 7 deletions
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp index f62a29226..2f21ffca6 100644 --- a/sources/pyside6/PySide6/glue/qtcore.cpp +++ b/sources/pyside6/PySide6/glue/qtcore.cpp @@ -280,7 +280,7 @@ QList<QByteArray> version = QByteArray(qVersion()).split('.'); PyObject *pyQtVersion = PyTuple_New(3); for (int i = 0; i < 3; ++i) PyTuple_SetItem(pyQtVersion, i, PyLong_FromLong(version[i].toInt())); -PyModule_AddObject(module, "__version_info__", pyQtVersion); +PepModule_Add(module, "__version_info__", pyQtVersion); PyModule_AddStringConstant(module, "__version__", qVersion()); // @snippet qt-version diff --git a/sources/pyside6/libpysideremoteobjects/pysiderephandler.cpp b/sources/pyside6/libpysideremoteobjects/pysiderephandler.cpp index 7ceb90586..5b4859cd0 100644 --- a/sources/pyside6/libpysideremoteobjects/pysiderephandler.cpp +++ b/sources/pyside6/libpysideremoteobjects/pysiderephandler.cpp @@ -454,7 +454,7 @@ void init(PyObject *module) "Returns the current count of PyCapsule objects" // docstring }; - PyModule_AddObject(module, "getCapsuleCount", PyCFunction_New(&get_capsule_count_def, nullptr)); + PepModule_Add(module, "getCapsuleCount", PyCFunction_New(&get_capsule_count_def, nullptr)); } } // namespace PySide::RemoteObjects diff --git a/sources/shiboken6/doc/typesystem_codeinjection.rst b/sources/shiboken6/doc/typesystem_codeinjection.rst index e50a4ca7c..d8b740d76 100644 --- a/sources/shiboken6/doc/typesystem_codeinjection.rst +++ b/sources/shiboken6/doc/typesystem_codeinjection.rst @@ -338,7 +338,7 @@ Code injections to the class Python initialization function. return; Py_INCREF(&PyInjectCode_Type); - PyModule_AddObject(module, "InjectCode", + PyModule_Add(module, "InjectCode", ((PyObject*)&PyInjectCode_Type)); // INJECT-CODE: <value/object-type><inject-code class="target" position="end"> diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp index e51872a63..911634e58 100644 --- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp +++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp @@ -5610,7 +5610,7 @@ bool CppGenerator::writeEnumInitialization(TextStream &s, const AbstractMetaEnum << indent << (isSigned ? "PyLong_FromLongLong" : "PyLong_FromUnsignedLongLong") << "(" << pyValue << "));\n" << outdent; } else { - s << "PyModule_AddObject(module, \"" << mangledName << "\",\n" << indent + s << "PepModule_Add(module, \"" << mangledName << "\",\n" << indent << (isSigned ? "PyLong_FromLongLong" : "PyLong_FromUnsignedLongLong") << "(" << pyValue << "));\n" << outdent; } @@ -6412,7 +6412,7 @@ static void writeSubModuleHandling(TextStream &s, const QString &moduleName, << subModuleOf << "\"));\n" << "if (parentModule.isNull())\n" << indent << "return nullptr;\n" << outdent - << "if (PyModule_AddObject(parentModule.object(), \"" << moduleName + << "if (PepModule_Add(parentModule.object(), \"" << moduleName << "\", module) < 0)\n" << indent << "return nullptr;\n" << outdent << outdent << "}\n"; } diff --git a/sources/shiboken6/libshiboken/pep384impl.cpp b/sources/shiboken6/libshiboken/pep384impl.cpp index 5f8424be4..1185d229e 100644 --- a/sources/shiboken6/libshiboken/pep384impl.cpp +++ b/sources/shiboken6/libshiboken/pep384impl.cpp @@ -1182,6 +1182,20 @@ int PepModule_AddType(PyObject *module, PyTypeObject *type) #endif } +int PepModule_Add(PyObject *module, const char *name, PyObject *value) +{ + // PyModule_Add (added to stable ABI in 3.13) is the replacement for PyModule_AddObject() + // (deprecated in 3.13). +#if !defined(PYPY_VERSION) && ((!defined(Py_LIMITED_API) && PY_VERSION_HEX >= 0x030D0000) || (defined(Py_LIMITED_API) && Py_LIMITED_API >= 0x030D0000)) + return PyModule_Add(module, name, value); +#else + int result = PyModule_AddObject(module, name, value); + if (result != 0) + Py_XDECREF(value); + return result; +#endif +} + /*************************************************************************** * * PYSIDE-535: The enum/flag error diff --git a/sources/shiboken6/libshiboken/pep384impl.h b/sources/shiboken6/libshiboken/pep384impl.h index 346aab881..f48b782a2 100644 --- a/sources/shiboken6/libshiboken/pep384impl.h +++ b/sources/shiboken6/libshiboken/pep384impl.h @@ -513,6 +513,8 @@ LIBSHIBOKEN_API PyObject *PepEval_GetFrameBuiltins(); LIBSHIBOKEN_API int PepModule_AddType(PyObject *module, PyTypeObject *type); +LIBSHIBOKEN_API int PepModule_Add(PyObject *module, const char *name, PyObject *value); + /***************************************************************************** * * Module Initialization diff --git a/sources/shiboken6/libshiboken/sbkmodule.cpp b/sources/shiboken6/libshiboken/sbkmodule.cpp index a9a772068..ed99114a0 100644 --- a/sources/shiboken6/libshiboken/sbkmodule.cpp +++ b/sources/shiboken6/libshiboken/sbkmodule.cpp @@ -500,7 +500,7 @@ PyObject *create(const char * /* modName */, PyModuleDef *moduleData) auto *moduleDirTemplate = PyCFunction_NewEx(module_methods, nullptr, nullptr); // Turn this function into a bound object, so we have access to the module. auto *moduleDir = PyObject_CallFunctionObjArgs(partial, moduleDirTemplate, module, nullptr); - PyModule_AddObject(module, module_methods->ml_name, moduleDir); // steals reference + PepModule_Add(module, module_methods->ml_name, moduleDir); // steals reference // Insert an initial empty table for the module. NameToTypeFunctionMap empty; moduleToFuncs.insert(std::make_pair(module, empty)); diff --git a/sources/shiboken6/shibokenmodule/shibokenmodule.cpp b/sources/shiboken6/shibokenmodule/shibokenmodule.cpp index 38e541fa8..f07eaf0b6 100644 --- a/sources/shiboken6/shibokenmodule/shibokenmodule.cpp +++ b/sources/shiboken6/shibokenmodule/shibokenmodule.cpp @@ -117,7 +117,7 @@ PyTuple_SetItem(version, 1, PyLong_FromLong(SHIBOKEN_MINOR_VERSION)); PyTuple_SetItem(version, 2, PyLong_FromLong(SHIBOKEN_MICRO_VERSION)); PyTuple_SetItem(version, 3, Shiboken::String::fromCString(SHIBOKEN_RELEASE_LEVEL)); PyTuple_SetItem(version, 4, PyLong_FromLong(SHIBOKEN_SERIAL)); -PyModule_AddObject(module, "__version_info__", version); +PepModule_Add(module, "__version_info__", version); PyModule_AddStringConstant(module, "__version__", SHIBOKEN_VERSION); VoidPtr::addVoidPtrToModule(module); Shiboken::initShibokenSupport(module); |
