From c7f9793ff660ed608474d0cab3b31054dbebb458 Mon Sep 17 00:00:00 2001 From: Christian Tismer Date: Thu, 28 Sep 2017 13:10:28 +0200 Subject: Fix the signature of the Q*Application constructor Q*Application had PySequence as Parameter, although only QStringList is accepted. That resulted in an implausible error message when a list of, say, Integers was given. This patch - replaces PySequence by QStringList (one more tuple layer), - fixes QCoreApplication to give the same kind of error messages, - renames the shiboken function sequenceToArgcArgv to listToArgcArgv and changes it to only allow list descendents. We also changed signature.typing in one line to display List[str] correctly. I think this belongs more to PySide-331, a fixed qApp. Task-number: PYSIDE-510 Task-number: PYSIDE-331 Change-Id: Ib256c6a2db05a3db826454e1bf1b4729d59a240b Reviewed-by: Friedemann Kleint --- sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp | 6 +++--- sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'sources/pyside2/PySide2/QtWidgets') diff --git a/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp b/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp index 0de34d9c5..f1f1f84a6 100644 --- a/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp +++ b/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp @@ -51,7 +51,7 @@ bool QApplicationConstructorStart(PyObject* argv) return false; } - return Shiboken::sequenceToArgcArgv(argv, &QApplicationArgCount, &QApplicationArgValues, "PySideApp"); + return Shiboken::listToArgcArgv(argv, &QApplicationArgCount, &QApplicationArgValues, "PySideApp"); } void QApplicationConstructorEnd(PyObject* self) @@ -71,8 +71,8 @@ void QApplicationConstructorEnd(PyObject* self) static void QApplicationConstructor(PyObject* self, PyObject* argv, QApplicationWrapper** cptr) { - if (QApplicationConstructorStart(argv)) { - // XXX do we need to support the ApplicationFlags parameter, instead of 0? + PyObject *stringlist = PyTuple_GET_ITEM(argv, 0); + if (QApplicationConstructorStart(stringlist)) { *cptr = new QApplicationWrapper(QApplicationArgCount, QApplicationArgValues, 0); Shiboken::Object::releaseOwnership(reinterpret_cast(self)); QApplicationConstructorEnd(self); diff --git a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml index 59412699c..5de077181 100644 --- a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml +++ b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml @@ -3144,9 +3144,9 @@ - + - QApplicationConstructor(%PYSELF, %1, &%0); + QApplicationConstructor(%PYSELF, args, &%0); -- cgit v1.2.3