@@ -68,15 +68,6 @@ void PythonQt_init_QtGuiBuiltin(PyObject*);
6868void PythonQt_init_QtCoreBuiltin (PyObject*);
6969
7070
71- static inline int PyModule_AddObject_DECREF (PyObject *module , const char *name, PyObject *value)
72- {
73- int ret = PyModule_AddObject (module , name, value);
74- if (ret < 0 )
75- Py_XDECREF (value);
76- return ret;
77- }
78-
79-
8071void PythonQt::init (int flags, const QByteArray& pythonQtModuleName)
8172{
8273 if (!_self) {
@@ -253,9 +244,9 @@ void PythonQt::init(int flags, const QByteArray& pythonQtModuleName)
253244 for (unsigned int i = 0 ;i<16 ; i++) {
254245 PyObject* obj = PyObject_GetAttrString (qtNamespace, names[i]);
255246 if (obj) {
256- PyModule_AddObject_DECREF (pack, names[i], obj);
247+ PyModule_AddObject (pack, names[i], obj);
257248 Py_INCREF (obj);
258- PyModule_AddObject_DECREF (pack2, names[i], obj);
249+ PyModule_AddObject (pack2, names[i], obj);
259250 } else {
260251 std::cerr << " method not found " << names[i] << std::endl;
261252 }
@@ -277,19 +268,19 @@ void PythonQt::init(int flags, const QByteArray& pythonQtModuleName)
277268
278269 for (int i = 0 ; i<sizeof (enumValues)/sizeof (int ); i++) {
279270 PyObject* obj = PyInt_FromLong (enumValues[i]);
280- PyModule_AddObject_DECREF (pack, enumNames[i], obj);
271+ PyModule_AddObject (pack, enumNames[i], obj);
281272 Py_INCREF (obj);
282- PyModule_AddObject_DECREF (pack2, enumNames[i], obj);
273+ PyModule_AddObject (pack2, enumNames[i], obj);
283274 }
284275
285276 _self->priv ()->pythonQtModule ().addObject (" Debug" , _self->priv ()->_debugAPI );
286277
287278 Py_INCREF ((PyObject*)&PythonQtSlotDecorator_Type);
288279 Py_INCREF ((PyObject*)&PythonQtSignalFunction_Type);
289280 Py_INCREF ((PyObject*)&PythonQtProperty_Type);
290- PyModule_AddObject_DECREF (pack, " Slot" , (PyObject*)&PythonQtSlotDecorator_Type);
291- PyModule_AddObject_DECREF (pack, " Signal" , (PyObject*)&PythonQtSignalFunction_Type);
292- PyModule_AddObject_DECREF (pack, " Property" , (PyObject*)&PythonQtProperty_Type);
281+ PyModule_AddObject (pack, " Slot" , (PyObject*)&PythonQtSlotDecorator_Type);
282+ PyModule_AddObject (pack, " Signal" , (PyObject*)&PythonQtSignalFunction_Type);
283+ PyModule_AddObject (pack, " Property" , (PyObject*)&PythonQtProperty_Type);
293284
294285 }
295286}
@@ -432,11 +423,11 @@ void PythonQt::setRedirectStdInCallback(PythonQtInputChangedCB* callback, void *
432423 ((PythonQtStdInRedirect*)in.object ())->_cb = callback;
433424 ((PythonQtStdInRedirect*)in.object ())->_callData = callbackData;
434425 // replace the built in file objects with our own objects
435- PyModule_AddObject_DECREF (sys.object (), " stdin" , in);
426+ PyModule_AddObject (sys.object (), " stdin" , in);
436427
437428 // Backup custom 'stdin' into 'pythonqt_stdin'
438429 Py_INCREF (in); // AddObject steals the reference, so increment it
439- PyModule_AddObject_DECREF (sys.object (), " pythonqt_stdin" , in);
430+ PyModule_AddObject (sys.object (), " pythonqt_stdin" , in);
440431}
441432
442433void PythonQt::setRedirectStdInCallbackEnabled (bool enabled)
@@ -512,7 +503,7 @@ void PythonQtPrivate::registerClass(const QMetaObject* metaobject, const char* p
512503 PyObject* classWrapper = info->pythonQtClassWrapper ();
513504 // AddObject steals a reference, so we need to INCREF
514505 Py_INCREF (classWrapper);
515- PyModule_AddObject_DECREF (module , info->className (), classWrapper);
506+ PyModule_AddObject (module , info->className (), classWrapper);
516507 }
517508 if (first) {
518509 first = false ;
@@ -546,13 +537,13 @@ void PythonQtPrivate::createPythonQtClassWrapper(PythonQtClassInfo* info, const
546537 outerClassInfo->addNestedClass (info);
547538 } else {
548539 Py_INCREF (pyobj);
549- PyModule_AddObject_DECREF (pack, info->className (), pyobj);
540+ PyModule_AddObject (pack, info->className (), pyobj);
550541 }
551542 if (!module && package && strncmp (package, " Qt" , 2 ) == 0 ) {
552543 // since PyModule_AddObject steals the reference, we need a incref once more...
553544 Py_INCREF (pyobj);
554545 // put all qt objects into Qt as well
555- PyModule_AddObject_DECREF (packageByName (" Qt" ), info->className (), pyobj);
546+ PyModule_AddObject (packageByName (" Qt" ), info->className (), pyobj);
556547 }
557548 info->setPythonQtClassWrapper (pyobj);
558549 Py_DECREF (pyobj);
@@ -1080,7 +1071,7 @@ void PythonQt::addObject(PyObject* object, const QString& name, QObject* qObject
10801071 PyObject *wrappedObject = _p->wrapQObject (qObject);
10811072 if (PyModule_Check (object)) {
10821073 Py_XINCREF (wrappedObject);
1083- PyModule_AddObject_DECREF (object, QStringToPythonCharPointer (name), wrappedObject);
1074+ PyModule_AddObject (object, QStringToPythonCharPointer (name), wrappedObject);
10841075 } else if (PyDict_Check (object)) {
10851076 PyDict_SetItemString (object, QStringToPythonCharPointer (name), wrappedObject);
10861077 } else {
@@ -1094,7 +1085,7 @@ void PythonQt::addVariable(PyObject* object, const QString& name, const QVariant
10941085 PyObject *value = PythonQtConv::QVariantToPyObject (v);
10951086 if (PyModule_Check (object)) {
10961087 Py_XINCREF (value);
1097- PyModule_AddObject_DECREF (object, QStringToPythonCharPointer (name), value);
1088+ PyModule_AddObject (object, QStringToPythonCharPointer (name), value);
10981089 } else if (PyDict_Check (object)) {
10991090 PyDict_SetItemString (object, QStringToPythonCharPointer (name), value);
11001091 } else {
@@ -1706,12 +1697,12 @@ void PythonQt::overwriteSysPath(const QStringList& paths)
17061697 foreach (QString path, paths) {
17071698 nativePaths << QDir::toNativeSeparators (path);
17081699 }
1709- PyModule_AddObject_DECREF (sys, " path" , PythonQtConv::QStringListToPyList (nativePaths));
1700+ PyModule_AddObject (sys, " path" , PythonQtConv::QStringListToPyList (nativePaths));
17101701}
17111702
17121703void PythonQt::setModuleImportPath (PyObject* module , const QStringList& paths)
17131704{
1714- PyModule_AddObject_DECREF (module , " __path__" , PythonQtConv::QStringListToPyList (paths));
1705+ PyModule_AddObject (module , " __path__" , PythonQtConv::QStringListToPyList (paths));
17151706}
17161707
17171708void PythonQt::stdOutRedirectCB (const QString& str)
@@ -1789,7 +1780,7 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
17891780 _p->_pythonQtModuleName = name;
17901781
17911782 Py_INCREF ((PyObject*)&PythonQtBoolResult_Type);
1792- PyModule_AddObject_DECREF (_p->pythonQtModule ().object (), " BoolResult" , (PyObject*)&PythonQtBoolResult_Type);
1783+ PyModule_AddObject (_p->pythonQtModule ().object (), " BoolResult" , (PyObject*)&PythonQtBoolResult_Type);
17931784 PythonQtObjectPtr sys;
17941785 sys.setNewRef (PyImport_ImportModule (" sys" ));
17951786
@@ -1802,8 +1793,8 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
18021793 err = PythonQtStdOutRedirectType.tp_new (&PythonQtStdOutRedirectType,NULL , NULL );
18031794 ((PythonQtStdOutRedirect*)err.object ())->_cb = stdErrRedirectCB;
18041795 // replace the built in file objects with our own objects
1805- PyModule_AddObject_DECREF (sys, " stdout" , out);
1806- PyModule_AddObject_DECREF (sys, " stderr" , err);
1796+ PyModule_AddObject (sys, " stdout" , out);
1797+ PyModule_AddObject (sys, " stderr" , err);
18071798 }
18081799
18091800 // add PythonQt to the list of builtin module names
@@ -1817,7 +1808,7 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
18171808 PyTuple_SetItem (module_names, i, val);
18181809 }
18191810 PyTuple_SetItem (module_names, old_size, PyString_FromString (name.constData ()));
1820- PyModule_AddObject_DECREF (sys.object (), " builtin_module_names" , module_names);
1811+ PyModule_AddObject (sys.object (), " builtin_module_names" , module_names);
18211812 }
18221813 Py_XDECREF (old_module_names);
18231814
@@ -2000,7 +1991,7 @@ PyObject* PythonQtPrivate::packageByName(const char* name)
20001991 _packages.insert (name, v);
20011992 // AddObject steals the reference, so increment it!
20021993 Py_INCREF (v);
2003- PyModule_AddObject_DECREF (_pythonQtModule, name, v);
1994+ PyModule_AddObject (_pythonQtModule, name, v);
20041995 }
20051996 return v;
20061997}
0 commit comments