aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpyside/qsignal.cpp4
-rw-r--r--tests/signals/signal_object_test.py8
2 files changed, 12 insertions, 0 deletions
diff --git a/libpyside/qsignal.cpp b/libpyside/qsignal.cpp
index 76d66f97e..2aa07d5c2 100644
--- a/libpyside/qsignal.cpp
+++ b/libpyside/qsignal.cpp
@@ -464,6 +464,10 @@ PyObject* signal_new(const char* name, ...)
va_list listSignatures;
char* sig;
SignalData* self = PyObject_New(SignalData, &Signal_Type);
+ self->signalName = strdup(name);
+ self->signaturesSize = 0;
+ self->signatures = 0;
+ self->initialized = 0;
va_start(listSignatures, name);
sig = va_arg(listSignatures, char*);
diff --git a/tests/signals/signal_object_test.py b/tests/signals/signal_object_test.py
index 49ab5a4fd..d4a35dced 100644
--- a/tests/signals/signal_object_test.py
+++ b/tests/signals/signal_object_test.py
@@ -27,6 +27,9 @@ class MyObject(QObject):
class SignalObjectTest(unittest.TestCase):
+ def cb(self):
+ self._cb_called = True
+
def testsingleConnect(self):
o = MyObject()
o.sig1.connect(o.slot1)
@@ -50,5 +53,10 @@ class SignalObjectTest(unittest.TestCase):
o.sig4[QString].emit("PySide")
self.assertEqual(o._s, "PySide")
+ def testGeneretedSignal(self):
+ o = MyObject()
+ o.destroyed.connect(self.cb)
+ self.assertEqual(self._cb_called)
+
if __name__ == '__main__':
unittest.main()