aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpyside/qsignal.cpp9
-rw-r--r--tests/signals/signal_object_test.py8
2 files changed, 14 insertions, 3 deletions
diff --git a/libpyside/qsignal.cpp b/libpyside/qsignal.cpp
index 9274c483d..7cfa9f99d 100644
--- a/libpyside/qsignal.cpp
+++ b/libpyside/qsignal.cpp
@@ -348,9 +348,9 @@ void signal_instance_initialize(PyObject* instance, PyObject* name, SignalData*
PyObject* signal_instance_connect(PyObject* self, PyObject* args, PyObject* kwds)
{
- PyObject *slot;
- PyObject *type;
- static const char *kwlist[] = {"type", 0};
+ PyObject *slot = 0;
+ PyObject *type = 0;
+ static const char *kwlist[] = {"slot", "type", 0};
if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O|O:"SIGNAL_CLASS_NAME, (char**) kwlist, &slot, &type))
@@ -384,6 +384,9 @@ PyObject* signal_instance_connect(PyObject* self, PyObject* args, PyObject* kwds
match = true;
}
+ if (type)
+ PyList_Append(pyArgs, type);
+
if (match) {
Shiboken::AutoDecRef tupleArgs(PyList_AsTuple(pyArgs));
Shiboken::AutoDecRef pyMethod(PyObject_GetAttrString(source->source, "connect"));
diff --git a/tests/signals/signal_object_test.py b/tests/signals/signal_object_test.py
index ead4b68b9..29c6be018 100644
--- a/tests/signals/signal_object_test.py
+++ b/tests/signals/signal_object_test.py
@@ -60,5 +60,13 @@ class SignalObjectTest(UsesQCoreApplication):
self.app.exec_()
self.assert_(self._cb_called)
+ def testConnectionType(self):
+ o = MyObject()
+ o.timeout.connect(self.cb, type=Qt.DirectConnection)
+ o.start(100)
+ self.app.exec_()
+ self.assert_(self._cb_called)
+
+
if __name__ == '__main__':
unittest.main()