void eDVBChannel::SDTready(int result)
{
- ePyObject args = PyTuple_New(2);
+ ePyObject args = PyTuple_New(2), ret;
bool ok=false;
if (!result)
{
Py_INCREF(Py_None);
Py_INCREF(Py_None);
}
- PyObject_CallObject(m_tsid_onid_callback, args);
+ ret = PyObject_CallObject(m_tsid_onid_callback, args);
+ if (ret)
+ Py_DECREF(ret);
Py_DECREF(args);
Py_DECREF(m_tsid_onid_callback);
m_tsid_onid_callback = ePyObject();
}
else
{
+ Py_INCREF(callback);
m_tsid_onid_callback = callback;
return 0;
}