X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/08d4f4729ac8c417f767628ef521dc71f232cf98..a9f7393e1d00eb89b8282aae0ddc4f6da33d9ca1:/lib/dvb/dvb.cpp diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index fd509d5d..eac4554d 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1502,7 +1502,7 @@ RESULT eDVBChannel::setCIRouting(const eDVBCIRouting &routing) void eDVBChannel::SDTready(int result) { - ePyObject args = PyTuple_New(2); + ePyObject args = PyTuple_New(2), ret; bool ok=false; if (!result) { @@ -1521,7 +1521,9 @@ void eDVBChannel::SDTready(int 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(); @@ -1544,6 +1546,7 @@ RESULT eDVBChannel::requestTsidOnid(ePyObject callback) } else { + Py_INCREF(callback); m_tsid_onid_callback = callback; return 0; }