add workaround
[vuplus_dvbapp] / lib / python / connections.cpp
index 00f33f7..b54c07b 100644 (file)
@@ -1,11 +1,14 @@
 #include <lib/python/connections.h>
 
 PSignal::PSignal()
+       :m_destroyed(0)
 {
 }
 
 PSignal::~PSignal()
 {
+       if (m_destroyed)
+               *m_destroyed = true;
        Py_XDECREF(m_list);
 }
 
@@ -20,10 +23,12 @@ void PSignal::callPython(ePyObject tuple)
        }
 }
 
-PyObject *PSignal::get()
+PyObject *PSignal::get(bool steal)
 {
-       if (!m_list)
-               m_list = PyList_New(0);
-       Py_INCREF(m_list);
+       if (!steal) {
+               if (!m_list)
+                       m_list = PyList_New(0);
+               Py_INCREF(m_list);
+       }
        return m_list;
 }