aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2019-08-13 11:15:52 +0200
committerChristian Tismer <tismer@stackless.com>2019-08-20 23:41:34 +0200
commit86f56c1ea0846540b082c67d0dc3e942fd311208 (patch)
treeabfd067d9053802258e17c2d11949d21689d1707
parentd0c71a3ad09293874cf703fefcfcc60463b596a4 (diff)
Fix wrong Python init return codes
PySide classes had wrong return values in their init code. In case of errors, they would not show up immediately. The following modules are affected: sources/pyside2/libpyside/pysideclassinfo.cpp sources/pyside2/libpyside/pysideproperty.cpp sources/pyside2/libpyside/pysidesignal.cpp sources/pyside2/libpyside/pysideslot.cpp sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp This error exists since Nov 03 2010 . Fixes: PYSIDE-1077 Change-Id: I8cf9bf7d1d8f8dca1155274cb24408f423557bac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp4
-rw-r--r--sources/pyside2/libpyside/pysideclassinfo.cpp2
-rw-r--r--sources/pyside2/libpyside/pysideproperty.cpp4
-rw-r--r--sources/pyside2/libpyside/pysidesignal.cpp4
-rw-r--r--sources/pyside2/libpyside/pysideslot.cpp4
5 files changed, 9 insertions, 9 deletions
diff --git a/sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp b/sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp
index 2386620ca..db297db7c 100644
--- a/sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp
+++ b/sources/pyside2/PySide2/QtQml/pysideqmlregistertype.cpp
@@ -215,13 +215,13 @@ static int propListTpInit(PyObject *self, PyObject *args, PyObject *kwds)
&data->at,
&data->clear,
&data->count)) {
- return 0;
+ return -1;
}
PySide::Property::setMetaCallHandler(pySelf, &propListMetaCall);
PySide::Property::setTypeName(pySelf, "QQmlListProperty<QObject>");
PySide::Property::setUserData(pySelf, data);
- return 1;
+ return 0;
}
void propListTpFree(void *self)
diff --git a/sources/pyside2/libpyside/pysideclassinfo.cpp b/sources/pyside2/libpyside/pysideclassinfo.cpp
index bf2a1307f..288e7f97c 100644
--- a/sources/pyside2/libpyside/pysideclassinfo.cpp
+++ b/sources/pyside2/libpyside/pysideclassinfo.cpp
@@ -161,7 +161,7 @@ int classInfoTpInit(PyObject *self, PyObject *args, PyObject *kwds)
}
}
- return PyErr_Occurred() ? -1 : 1;
+ return PyErr_Occurred() ? -1 : 0;
}
void classInfoFree(void *self)
diff --git a/sources/pyside2/libpyside/pysideproperty.cpp b/sources/pyside2/libpyside/pysideproperty.cpp
index a2bf5fd2b..a9cacf869 100644
--- a/sources/pyside2/libpyside/pysideproperty.cpp
+++ b/sources/pyside2/libpyside/pysideproperty.cpp
@@ -175,7 +175,7 @@ int qpropertyTpInit(PyObject *self, PyObject *args, PyObject *kwds)
/*s*/ &doc,
/*O*/ &(pData->notify),
/*bbbbbb*/ &(pData->designable), &(pData->scriptable), &(pData->stored), &(pData->user), &(pData->constant), &(pData->final))) {
- return 0;
+ return -1;
}
if (doc) {
@@ -198,7 +198,7 @@ int qpropertyTpInit(PyObject *self, PyObject *args, PyObject *kwds)
Py_XINCREF(pData->freset);
Py_XINCREF(pData->fdel);
Py_XINCREF(pData->notify);
- return 1;
+ return 0;
}
pData->fget = nullptr;
pData->fset = nullptr;
diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp
index 47a5fff43..434ef6ac3 100644
--- a/sources/pyside2/libpyside/pysidesignal.cpp
+++ b/sources/pyside2/libpyside/pysidesignal.cpp
@@ -212,7 +212,7 @@ int signalTpInit(PyObject *self, PyObject *args, PyObject *kwds)
if (!PyArg_ParseTupleAndKeywords(emptyTuple, kwds,
"|sO:QtCore." SIGNAL_CLASS_NAME, const_cast<char **>(kwlist), &argName, &argArguments))
- return 0;
+ return -1;
bool tupledArgs = false;
PySideSignal *data = reinterpret_cast<PySideSignal *>(self);
@@ -257,7 +257,7 @@ int signalTpInit(PyObject *self, PyObject *args, PyObject *kwds)
PySide::Signal::SignalSignature(sig));
}
- return 1;
+ return 0;
}
void signalFree(void *self)
diff --git a/sources/pyside2/libpyside/pysideslot.cpp b/sources/pyside2/libpyside/pysideslot.cpp
index 2cdf32626..2f8e69e8f 100644
--- a/sources/pyside2/libpyside/pysideslot.cpp
+++ b/sources/pyside2/libpyside/pysideslot.cpp
@@ -104,7 +104,7 @@ int slotTpInit(PyObject *self, PyObject *args, PyObject *kw)
if (!PyArg_ParseTupleAndKeywords(emptyTuple, kw, "|sO:QtCore." SLOT_DEC_NAME,
const_cast<char **>(kwlist), &argName, &argResult)) {
- return 0;
+ return -1;
}
PySideSlot *data = reinterpret_cast<PySideSlot *>(self);
@@ -128,7 +128,7 @@ int slotTpInit(PyObject *self, PyObject *args, PyObject *kw)
data->slotData->resultType = argResult
? PySide::Signal::getTypeName(argResult) : PySide::Signal::voidType();
- return 1;
+ return 0;
}
PyObject *slotCall(PyObject *self, PyObject *args, PyObject * /* kw */)