diff options
-rw-r--r-- | libpyside/qsignal.cpp | 4 | ||||
-rw-r--r-- | tests/signals/signal_object_test.py | 8 |
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() |