diff options
Diffstat (limited to 'libpyside/pysidesignal.cpp')
-rw-r--r-- | libpyside/pysidesignal.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libpyside/pysidesignal.cpp b/libpyside/pysidesignal.cpp index 3308035a4..084fcef91 100644 --- a/libpyside/pysidesignal.cpp +++ b/libpyside/pysidesignal.cpp @@ -378,10 +378,10 @@ PyObject* signalInstanceConnect(PyObject* self, PyObject* args, PyObject* kwds) if (result == Py_True) return result; else - Py_DECREF(result); + Py_XDECREF(result); } - - PyErr_Format(PyExc_RuntimeError, "Fail to connect signal %s.", source->d->signature); + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Fail to connect signal %s.", source->d->signature); return 0; } |