aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/QtWidgets
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2017-09-28 13:10:28 +0200
committerChristian Tismer <tismer@stackless.com>2017-09-29 07:49:27 +0000
commitc7f9793ff660ed608474d0cab3b31054dbebb458 (patch)
tree3726b859a49071607f950e3f353ce9f086f57ff2 /sources/pyside2/PySide2/QtWidgets
parent828c94347125180468838c77b554e0526cd34aa5 (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/QtWidgets')
-rw-r--r--sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp6
-rw-r--r--sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml4
2 files changed, 5 insertions, 5 deletions
diff --git a/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp b/sources/pyside2/PySide2/QtWidgets/glue/qapplication_init.cpp
index 0de34d9c..f1f1f84a 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<SbkObject*>(self));
QApplicationConstructorEnd(self);
diff --git a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
index 59412699..5de07718 100644
--- a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
+++ b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
@@ -3144,9 +3144,9 @@
<include file-name="QStyle" location="global"/>
</extra-includes>
<modify-function signature="QApplication(int&amp;,char**,int)" access="private" />
- <add-function signature="QApplication(PySequence)">
+ <add-function signature="QApplication(QStringList)">
<inject-code>
- QApplicationConstructor(%PYSELF, %1, &amp;%0);
+ QApplicationConstructor(%PYSELF, args, &amp;%0);
</inject-code>
</add-function>
<modify-function signature="exec()" rename="exec_" allow-thread="yes"/>