Fixed memory leak on signal allocator.
Reviewer: Hugo Parente Lima <hugo.lima@openbossa.org>,
Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
005aeaf829
commit
77d9398bde
2 changed files with 12 additions and 0 deletions
|
|
@ -464,6 +464,10 @@ PyObject* signal_new(const char* name, ...)
|
||||||
va_list listSignatures;
|
va_list listSignatures;
|
||||||
char* sig;
|
char* sig;
|
||||||
SignalData* self = PyObject_New(SignalData, &Signal_Type);
|
SignalData* self = PyObject_New(SignalData, &Signal_Type);
|
||||||
|
self->signalName = strdup(name);
|
||||||
|
self->signaturesSize = 0;
|
||||||
|
self->signatures = 0;
|
||||||
|
self->initialized = 0;
|
||||||
|
|
||||||
va_start(listSignatures, name);
|
va_start(listSignatures, name);
|
||||||
sig = va_arg(listSignatures, char*);
|
sig = va_arg(listSignatures, char*);
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,9 @@ class MyObject(QObject):
|
||||||
|
|
||||||
|
|
||||||
class SignalObjectTest(unittest.TestCase):
|
class SignalObjectTest(unittest.TestCase):
|
||||||
|
def cb(self):
|
||||||
|
self._cb_called = True
|
||||||
|
|
||||||
def testsingleConnect(self):
|
def testsingleConnect(self):
|
||||||
o = MyObject()
|
o = MyObject()
|
||||||
o.sig1.connect(o.slot1)
|
o.sig1.connect(o.slot1)
|
||||||
|
|
@ -50,5 +53,10 @@ class SignalObjectTest(unittest.TestCase):
|
||||||
o.sig4[QString].emit("PySide")
|
o.sig4[QString].emit("PySide")
|
||||||
self.assertEqual(o._s, "PySide")
|
self.assertEqual(o._s, "PySide")
|
||||||
|
|
||||||
|
def testGeneretedSignal(self):
|
||||||
|
o = MyObject()
|
||||||
|
o.destroyed.connect(self.cb)
|
||||||
|
self.assertEqual(self._cb_called)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue