diff options
author | Christian Tismer <tismer@stackless.com> | 2017-09-28 13:10:28 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2017-09-29 07:49:27 +0000 |
commit | c7f9793ff660ed608474d0cab3b31054dbebb458 (patch) | |
tree | 3726b859a49071607f950e3f353ce9f086f57ff2 /sources/pyside2/PySide2/QtGui | |
parent | 828c94347125180468838c77b554e0526cd34aa5 (diff) |
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 <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside2/PySide2/QtGui')
-rw-r--r-- | sources/pyside2/PySide2/QtGui/glue/qguiapplication_init.cpp | 6 | ||||
-rw-r--r-- | sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sources/pyside2/PySide2/QtGui/glue/qguiapplication_init.cpp b/sources/pyside2/PySide2/QtGui/glue/qguiapplication_init.cpp index 60507f37a..014e409b5 100644 --- a/sources/pyside2/PySide2/QtGui/glue/qguiapplication_init.cpp +++ b/sources/pyside2/PySide2/QtGui/glue/qguiapplication_init.cpp @@ -50,7 +50,7 @@ bool QGuiApplicationConstructorStart(PyObject* argv) return false; } - return Shiboken::sequenceToArgcArgv(argv, &QGuiApplicationArgCount, &QGuiApplicationArgValues, "PySideApp"); + return Shiboken::listToArgcArgv(argv, &QGuiApplicationArgCount, &QGuiApplicationArgValues, "PySideApp"); } void QGuiApplicationConstructorEnd(PyObject* self) @@ -61,8 +61,8 @@ void QGuiApplicationConstructorEnd(PyObject* self) static void QGuiApplicationConstructor(PyObject* self, PyObject* argv, QGuiApplicationWrapper** cptr) { - if (QGuiApplicationConstructorStart(argv)) { - // XXX do we need to support the ApplicationFlags parameter, instead of 0? + PyObject *stringlist = PyTuple_GET_ITEM(argv, 0); + if (QGuiApplicationConstructorStart(stringlist)) { *cptr = new QGuiApplicationWrapper(QGuiApplicationArgCount, QGuiApplicationArgValues, 0); Shiboken::Object::releaseOwnership(reinterpret_cast<SbkObject*>(self)); QGuiApplicationConstructorEnd(self); diff --git a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml index 7a0db8a41..0dad0b455 100644 --- a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml +++ b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml @@ -3233,9 +3233,9 @@ <include file-name="QLocale" location="global"/> </extra-includes> <modify-function signature="QGuiApplication(int&,char**,int)" access="private" /> - <add-function signature="QGuiApplication(PySequence)"> + <add-function signature="QGuiApplication(QStringList)"> <inject-code> - QGuiApplicationConstructor(%PYSELF, %1, &%0); + QGuiApplicationConstructor(%PYSELF, args, &%0); </inject-code> </add-function> <modify-function signature="exec()" rename="exec_" allow-thread="yes"/> |