@@ -68,15 +68,6 @@ void PythonQt_init_QtGuiBuiltin(PyObject*);
68
68
void PythonQt_init_QtCoreBuiltin (PyObject*);
69
69
70
70
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
-
80
71
void PythonQt::init (int flags, const QByteArray& pythonQtModuleName)
81
72
{
82
73
if (!_self) {
@@ -253,9 +244,9 @@ void PythonQt::init(int flags, const QByteArray& pythonQtModuleName)
253
244
for (unsigned int i = 0 ;i<16 ; i++) {
254
245
PyObject* obj = PyObject_GetAttrString (qtNamespace, names[i]);
255
246
if (obj) {
256
- PyModule_AddObject_DECREF (pack, names[i], obj);
247
+ PyModule_AddObject (pack, names[i], obj);
257
248
Py_INCREF (obj);
258
- PyModule_AddObject_DECREF (pack2, names[i], obj);
249
+ PyModule_AddObject (pack2, names[i], obj);
259
250
} else {
260
251
std::cerr << " method not found " << names[i] << std::endl;
261
252
}
@@ -277,19 +268,19 @@ void PythonQt::init(int flags, const QByteArray& pythonQtModuleName)
277
268
278
269
for (int i = 0 ; i<sizeof (enumValues)/sizeof (int ); i++) {
279
270
PyObject* obj = PyInt_FromLong (enumValues[i]);
280
- PyModule_AddObject_DECREF (pack, enumNames[i], obj);
271
+ PyModule_AddObject (pack, enumNames[i], obj);
281
272
Py_INCREF (obj);
282
- PyModule_AddObject_DECREF (pack2, enumNames[i], obj);
273
+ PyModule_AddObject (pack2, enumNames[i], obj);
283
274
}
284
275
285
276
_self->priv ()->pythonQtModule ().addObject (" Debug" , _self->priv ()->_debugAPI );
286
277
287
278
Py_INCREF ((PyObject*)&PythonQtSlotDecorator_Type);
288
279
Py_INCREF ((PyObject*)&PythonQtSignalFunction_Type);
289
280
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);
293
284
294
285
}
295
286
}
@@ -432,11 +423,11 @@ void PythonQt::setRedirectStdInCallback(PythonQtInputChangedCB* callback, void *
432
423
((PythonQtStdInRedirect*)in.object ())->_cb = callback;
433
424
((PythonQtStdInRedirect*)in.object ())->_callData = callbackData;
434
425
// 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);
436
427
437
428
// Backup custom 'stdin' into 'pythonqt_stdin'
438
429
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);
440
431
}
441
432
442
433
void PythonQt::setRedirectStdInCallbackEnabled (bool enabled)
@@ -512,7 +503,7 @@ void PythonQtPrivate::registerClass(const QMetaObject* metaobject, const char* p
512
503
PyObject* classWrapper = info->pythonQtClassWrapper ();
513
504
// AddObject steals a reference, so we need to INCREF
514
505
Py_INCREF (classWrapper);
515
- PyModule_AddObject_DECREF (module, info->className (), classWrapper);
506
+ PyModule_AddObject (module, info->className (), classWrapper);
516
507
}
517
508
if (first) {
518
509
first = false ;
@@ -546,13 +537,13 @@ void PythonQtPrivate::createPythonQtClassWrapper(PythonQtClassInfo* info, const
546
537
outerClassInfo->addNestedClass (info);
547
538
} else {
548
539
Py_INCREF (pyobj);
549
- PyModule_AddObject_DECREF (pack, info->className (), pyobj);
540
+ PyModule_AddObject (pack, info->className (), pyobj);
550
541
}
551
542
if (!module && package && strncmp (package, " Qt" , 2 ) == 0 ) {
552
543
// since PyModule_AddObject steals the reference, we need a incref once more...
553
544
Py_INCREF (pyobj);
554
545
// 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);
556
547
}
557
548
info->setPythonQtClassWrapper (pyobj);
558
549
Py_DECREF (pyobj);
@@ -1080,7 +1071,7 @@ void PythonQt::addObject(PyObject* object, const QString& name, QObject* qObject
1080
1071
PyObject *wrappedObject = _p->wrapQObject (qObject);
1081
1072
if (PyModule_Check (object)) {
1082
1073
Py_XINCREF (wrappedObject);
1083
- PyModule_AddObject_DECREF (object, QStringToPythonCharPointer (name), wrappedObject);
1074
+ PyModule_AddObject (object, QStringToPythonCharPointer (name), wrappedObject);
1084
1075
} else if (PyDict_Check (object)) {
1085
1076
PyDict_SetItemString (object, QStringToPythonCharPointer (name), wrappedObject);
1086
1077
} else {
@@ -1094,7 +1085,7 @@ void PythonQt::addVariable(PyObject* object, const QString& name, const QVariant
1094
1085
PyObject *value = PythonQtConv::QVariantToPyObject (v);
1095
1086
if (PyModule_Check (object)) {
1096
1087
Py_XINCREF (value);
1097
- PyModule_AddObject_DECREF (object, QStringToPythonCharPointer (name), value);
1088
+ PyModule_AddObject (object, QStringToPythonCharPointer (name), value);
1098
1089
} else if (PyDict_Check (object)) {
1099
1090
PyDict_SetItemString (object, QStringToPythonCharPointer (name), value);
1100
1091
} else {
@@ -1706,12 +1697,12 @@ void PythonQt::overwriteSysPath(const QStringList& paths)
1706
1697
foreach (QString path, paths) {
1707
1698
nativePaths << QDir::toNativeSeparators (path);
1708
1699
}
1709
- PyModule_AddObject_DECREF (sys, " path" , PythonQtConv::QStringListToPyList (nativePaths));
1700
+ PyModule_AddObject (sys, " path" , PythonQtConv::QStringListToPyList (nativePaths));
1710
1701
}
1711
1702
1712
1703
void PythonQt::setModuleImportPath (PyObject* module, const QStringList& paths)
1713
1704
{
1714
- PyModule_AddObject_DECREF (module, " __path__" , PythonQtConv::QStringListToPyList (paths));
1705
+ PyModule_AddObject (module, " __path__" , PythonQtConv::QStringListToPyList (paths));
1715
1706
}
1716
1707
1717
1708
void PythonQt::stdOutRedirectCB (const QString& str)
@@ -1789,7 +1780,7 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
1789
1780
_p->_pythonQtModuleName = name;
1790
1781
1791
1782
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);
1793
1784
PythonQtObjectPtr sys;
1794
1785
sys.setNewRef (PyImport_ImportModule (" sys" ));
1795
1786
@@ -1802,8 +1793,8 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
1802
1793
err = PythonQtStdOutRedirectType.tp_new (&PythonQtStdOutRedirectType,NULL , NULL );
1803
1794
((PythonQtStdOutRedirect*)err.object ())->_cb = stdErrRedirectCB;
1804
1795
// 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);
1807
1798
}
1808
1799
1809
1800
// add PythonQt to the list of builtin module names
@@ -1817,7 +1808,7 @@ void PythonQt::initPythonQtModule(bool redirectStdOut, const QByteArray& pythonQ
1817
1808
PyTuple_SetItem (module_names, i, val);
1818
1809
}
1819
1810
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);
1821
1812
}
1822
1813
Py_XDECREF (old_module_names);
1823
1814
@@ -2000,7 +1991,7 @@ PyObject* PythonQtPrivate::packageByName(const char* name)
2000
1991
_packages.insert (name, v);
2001
1992
// AddObject steals the reference, so increment it!
2002
1993
Py_INCREF (v);
2003
- PyModule_AddObject_DECREF (_pythonQtModule, name, v);
1994
+ PyModule_AddObject (_pythonQtModule, name, v);
2004
1995
}
2005
1996
return v;
2006
1997
}
0 commit comments