#include <lib/python/connections.h>
PSignal::PSignal()
+ :m_destroyed(0)
{
}
PSignal::~PSignal()
{
+ if (m_destroyed)
+ *m_destroyed = true;
Py_XDECREF(m_list);
}
}
}
-PyObject *PSignal::get()
+PyObject *PSignal::get(bool steal)
{
- if (!m_list)
- {
- m_list = PyList_New(0);
+ if (!steal) {
+ if (!m_list)
+ m_list = PyList_New(0);
Py_INCREF(m_list);
}
- Py_INCREF(m_list);
return m_list;
}