aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpyside/pysidesignal.cpp6
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;
}