diff options
author | Christian Tismer <tismer@stackless.com> | 2019-08-13 11:15:52 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2019-08-20 23:41:34 +0200 |
commit | 86f56c1ea0846540b082c67d0dc3e942fd311208 (patch) | |
tree | abfd067d9053802258e17c2d11949d21689d1707 /sources/pyside2/libpyside | |
parent | d0c71a3ad09293874cf703fefcfcc60463b596a4 (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>
Diffstat (limited to 'sources/pyside2/libpyside')
-rw-r--r-- | sources/pyside2/libpyside/pysideclassinfo.cpp | 2 | ||||
-rw-r--r-- | sources/pyside2/libpyside/pysideproperty.cpp | 4 | ||||
-rw-r--r-- | sources/pyside2/libpyside/pysidesignal.cpp | 4 | ||||
-rw-r--r-- | sources/pyside2/libpyside/pysideslot.cpp | 4 |
4 files changed, 7 insertions, 7 deletions
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 */) |