diff options
Diffstat (limited to 'sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp')
-rw-r--r-- | sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp b/sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp index 20e9c4464..fec8cf416 100644 --- a/sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp +++ b/sources/pyside2/PySide2/QtCore/glue/qcoreapplication_init.cpp @@ -41,23 +41,18 @@ static int QCoreApplicationArgCount; static char** QCoreApplicationArgValues; -void QCoreApplication_constructor(PyObject* self, PyObject* args, QCoreApplicationWrapper** cptr) +void QCoreApplication_constructor(PyObject* self, PyObject* argv, QCoreApplicationWrapper** cptr) { if (QCoreApplication::instance()) { PyErr_SetString(PyExc_RuntimeError, "A QCoreApplication instance already exists."); return; } - int numArgs = PyTuple_GET_SIZE(args); - if (numArgs != 1 - || !Shiboken::sequenceToArgcArgv(PyTuple_GET_ITEM(args, 0), &QCoreApplicationArgCount, &QCoreApplicationArgValues, "PySideApp")) { - PyErr_BadArgument(); - return; + PyObject *stringlist = PyTuple_GET_ITEM(argv, 0); + if (Shiboken::listToArgcArgv(stringlist, &QCoreApplicationArgCount, &QCoreApplicationArgValues, "PySideApp")) { + *cptr = new QCoreApplicationWrapper(QCoreApplicationArgCount, QCoreApplicationArgValues); + Shiboken::Object::releaseOwnership(reinterpret_cast<SbkObject*>(self)); + PySide::registerCleanupFunction(&PySide::destroyQCoreApplication); + Py_INCREF(self); } - - *cptr = new QCoreApplicationWrapper(QCoreApplicationArgCount, QCoreApplicationArgValues); - - Shiboken::Object::releaseOwnership(reinterpret_cast<SbkObject*>(self)); - PySide::registerCleanupFunction(&PySide::destroyQCoreApplication); - Py_INCREF(self); } |